Video: Ta bort lösenord från en skyddad arbetsbok i Excel 2024
Ett sätt på vilket du kan få VBA-kod till en VBA-modul är att använda Excel-makroinspelaren för att spela in dina handlingar och konvertera dem till VBA-kod. Men inte alla uppgifter kan översättas till VBA genom att spela in ett makro. Du kan också ange koden direkt eller kopiera koden från en modul och klistra in den i en annan.
Inmatning och redigering av text i en VBA-modul fungerar som du kan förvänta dig. Du kan välja, kopiera, klippa, klistra in och göra andra saker till texten.
En enda rad med VBA-kod kan vara så länge du vill. Du kan dock använda linje-fortsättningskaraktären för att bryta upp långa rader av kod. För att fortsätta en enda kodrad (även kallad uttalande ) från en rad till nästa, avsluta den första raden med ett mellanslag följt av ett understreck (_). Fortsätt sedan uttalandet på nästa rad. Här är ett exempel på ett enda uttalande uppdelat i tre rader:
Val. Sortera Key1: = Range ("A1"), _ Order1: = xlAscending, Header: = xlGuess, _ Orientering: = xlTopToBottom
Detta uttalande skulle fungera på samma sätt om det var inmatat i en enda rad fortsättningskaraktärer).
VBE har flera nivåer av ångra och omdirigera. Om du raderade ett uttalande som du inte borde ha använder du Ångra-knappen på verktygsfältet (eller trycker på Ctrl + Z) tills uttalandet visas igen. När du har ångrat kan du använda knappen Redo för att utföra de ändringar som du har ångrat.
Klar för att skriva in någon riktig live kod? Prova följande steg:
-
Skapa en ny arbetsbok i Excel.
-
Tryck på Alt + F11 för att aktivera VBE.
-
Klicka på den nya arbetsbokens namn i projektfönstret.
-
Välj Infoga → Modul för att infoga en VBA-modul i projektet.
-
Skriv följande kod i modulen:
Sub GuessName () Dim Msg som String Dim Ans As Long Msg = "Är ditt namn" & Application. Användarnamn & "?" Ans = MsgBox (Msg, vbYesNo) Om Ans = vbNo Då MsgBox "Åh, bry dig aldrig." Om Ans = vbYes Då MsgBox "Jag måste vara clairvoyant!" Avsluta del
-
Se till att markören ligger någonstans inom texten du skrev och tryck sedan på F5 för att utföra proceduren.
F5 är en genväg för kommandot Run → Run Sub / UserForm.
När du anger koden som anges i steg 5 kan du märka att VBE gör vissa justeringar av texten du anger. Efter att du har skrivit Sub-satsen lägger VBE automatiskt in slutänds-satsen. Och om du släpper ut mellanslag före eller efter ett likartat tecken, ställer VBE ut platsen för dig. VBE ändrar också färgen och kapitaliseringen av viss text. Dessa förändringar är VBE: s sätt att hålla sakerna snygga och läsbara.
Om du följde tidigare steg skapade du bara ett VBA Sub-förfarande, även känt som ett makro. När du trycker på F5 utförs Excel koden och följer instruktionerna. Med andra ord utvärderar Excel varje uttalande och gör vad du berättade för att göra. Du kan utföra detta makro varje antal gånger - även om det tenderar att förlora sin överklagande efter några tiotal avrättningar.
Detta enkla makro använder följande begrepp:
-
Definiera en Sub-procedur (första raden)
-
Deklarera variabler (Dim-ståndpunkterna)
-
Tilldela värden till variabler (Msg och Ans)
-
Förkoppling
-
Använda inbyggd VBA-funktion (MsgBox)
-
Använda inbyggda VBA-konstanter (vbYesNo, vbNo och vbYes)
-
Använda en If-Then-konstruktion (två gånger)
-
Avsluta ett Sub-förfarande (sista raden)
Som nämnts kan du kopiera och klistra in kod i en VBA-modul. Exempelvis kan ett under- eller funktionsförfarande som du skriver för ett projekt också vara användbart i ett annat projekt. I stället för att slösa bort tiden som återinför koden kan du aktivera modulen och använda de vanliga kopierings- och klistradesrutinerna (Ctrl + C för kopiering och Ctrl + V för att klistra in). Efter att du har klistrat in koden i en VBA-modul kan du ändra koden efter behov.