VBA - Genvägar för Visual Basic Editor

Denna handledning visar dig en mängd riktigt användbara genvägar i VBA

Använd Alt + F11 för att öppna VBE

Vanligtvis måste du klicka på Visual Basic -knappen på Excel -bandet för att komma till Visual Basic Editor. Du kan dock trycka på Alt + F11 istället!

Snabbknappar i VBE

Ctl+r- visar Project Explorer.

Ctl+g - visar Omedelbart fönster.

F4 - visar Egenskapsfönster.

F2 - visar Objektbläddrare.

F5 - kör Procedur du är i.

F8 - låter dig gå igenom koden Ha sönder läge.

Spela in ett makro

Ett av de bästa sätten att lära sig VBA är att spela in ett makro och sedan analysera koden. Det är också ett mycket snabbt sätt att skriva kod, men inspelaren kommer att spela in VARJE knapptryckning, så du kan behöva redigera din kod för att ta bort redundanta rader.

Låt oss undersöka makrot nedan som spelats in av makroinspelaren och se hur vi kan göra det mer effektivt.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 Sub TestFormat ()''Testformatmakro''Kortkommando: Ctrl+Skift+T'ActiveCell.FormulaR1C1 = "Applese"Område ("D3"). VäljActiveCell.FormulaR1C1 = "Päron"Område ("E3"). VäljActiveCell.FormulaR1C1 = "Persikor"Område ("C4"). VäljActiveCell.FormulaR1C1 = "12"Område ("D4"). VäljActiveCell.FormulaR1C1 = "14"Område ("E4"). VäljActiveCell.FormulaR1C1 = "16"Område ("C5"). VäljActiveCell.FormulaR1C1 = "20"Område ("D5"). VäljActiveCell.FormulaR1C1 = "25"Område ("E5"). VäljActiveCell.FormulaR1C1 = "26"Område ("C6: E6"). VäljOmråde ("E6"). AktiveraSelection.FormulaR1C1 = "= SUMMA (R [-2] C: R [-1] C)"Selection.Borders (xlDiagonalDown) .LineStyle = xlNoneSelection.Borders (xlDiagonalUp) .LineStyle = xlNoneSelection.Borders (xlEdgeLeft) .LineStyle = xlNoneWith Selection.Borders (xlEdgeTop).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Vikt = xlThinSluta medWith Selection.Borders (xlEdgeBottom).LineStyle = xlDouble.ColorIndex = 0.TintAndShade = 0.Vikt = xlThickSluta medSelection.Borders (xlEdgeRight) .LineStyle = xlNoneSelection.Borders (xlInsideVertical) .LineStyle = xlNoneSelection.Borders (xlInsideHorizontal) .LineStyle = xlNoneOmråde ("C4: E6"). VäljSelection.NumberFormat = _"_- [$$-en-US]*#, ## 0.00_; _- [$$-en-US]*-#, ## 0.00; _- [$$-en-US]*" " -"" ?? _; _-@_ "Område ("C3: E3"). VäljSelection.Font.Bold = TrueOmråde ("C3"). VäljActiveCell.FormulaR1C1 = "Äpplen"Avsluta Sub

Titta nu på koden nedan som kommer att uppnå samma resultat

123456789101112131415161718192021 Sub TestFormat ()'Kortkommando: Ctrl+Skift+TRange ("C3") = "Äpplen"Område ("D3") = "Päron"Range ("E3") = "Persikor"Område ("C4") = 12Område ("D4") = 14Område ("C4") = 16Område ("C5") = 20Område ("D5") = 25Område ("E5") = "26"Område ("C6: E6"). VäljSelection.FormulaR1C1 = "= SUMMA (R [-2] C: R [-1] C)"Selection.Borders (xlEdgeTop) .LineStyle = xlContinuousSelection.Borders (xlEdgeBottom) .LineStyle = xlDoubleOmråde ("C4: E6"). VäljSelection.NumberFormat = _"_- [$$-en-US]*#, ## 0.00_; _- [$$-en-US]*-#, ## 0.00; _- [$$-en-US]*" " -"" ?? _; _-@_ "Område ("C3: E3"). VäljSelection.Font.Bold = TrueAvsluta Sub

Genom att skära ut mycket redundant kod och ändra inspelad kod där det är möjligt kan vi göra makrot mycket mer effektivt och lättläst.

Använda den personliga makro -arbetsboken

Om du vill att ett makro ska kunna användas i alla dina Excel -filer kan du lagra makrot i arbetsboken Personlig makro - den här arbetsboken är dold och är öppen hela tiden i Excel, vilket gör att alla makron lagras där, globala makron .

Om du inte ser en personlig makro -arbetsbok i ditt VBE -fönster, spela in ett makro och ange att den ska lagras i den personliga makro -arbetsboken.

Inryckningskod

När du indragit din kod gör du det omedelbart lättare att läsa och för någon annan att följa. Om du vill dra in flera rader kod kan du markera dem och trycka på Tabb.

På samma sätt trycker du på för att överträffa koden Skift+Tab och koden flyttas till vänster igen.

Trött på att söka efter exempel på VBA -kod? Prova AutoMacro!

Kommenterande kod

Att lägga till kommentarer till din kod är ett annat sätt att göra det lätt att läsa och navigera. Du lägger till en kommentar till koden genom att sätta ett enda citattecken i början av raden enligt nedan.

Skriver med små bokstäver

VBA använder Proper Case i kod. Om du skriver med små bokstäver och det inte ändras till rätt bokstav kan du snabbt se var du har gjort ett misstag.

Använda Intellisense

Intellisense dyker upp när du skriver kod och ger dig en lista över alla egenskaper, metoder och händelser som är tillgängliga för objektet du arbetar med. Det dyker normalt upp automatiskt när du har skrivit en period när du skriver din kod.

Du kan också tvinga den att dyka upp genom att trycka på Ctl+j.

På samma sätt, när du använder funktioner i Excel som tar argument, dyker dessa normalt upp automatiskt.

Du kan tvinga dem att dyka upp genom att trycka på Ctl+i.

Auto-Complete

Du kan använda Ctl+Mellanslag nyckelkombination för att använda automatisk komplettering när du skriver kod.

I exemplet ovan, alla Egenskaper, metoder, evenemang och Variabler börjar med str visas i listan som du kan välja mellan.

Alternativ Explicit och kompilerande kod

Att se till att du har Option Explicit högst upp i alla dina moduler säkerställer att alla dina variabler deklareras och hindrar dig från att göra stavfel i variabelnamnen. Om du har Option Explicit på och du kompilerar eller kör din kod får du ett fel om ett variabelnamn inte känns igen.

Det omedelbara fönstret och felsökning

Fönstret Omedelbart (du kan slå på det med Ctl+g) låter dig felsöka din kod och hitta värdet på variabler medan du är i det här felsökningsläget.

12345678 Deltestvariabler'deklarera variabelnDim strName som sträng'fylla i variabelnstrName = "Anne Smith"'använd F8 för att gå igenom koden och skicka variabelvärdet med debug.print till det omedelbara fönstretDebug.Print strNameAvsluta sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave