VBA - Genveje til Visual Basic Editor

Denne vejledning viser dig en række virkelig nyttige genveje i VBA

Brug Alt + F11 til at åbne VBE

Normalt for at komme til Visual Basic Editor skal du klikke på knappen Visual Basic på Excel -båndet. Du kan dog trykke på Alt + F11 i stedet!

Hurtigtaster i VBE

Ctl+r- viser Projekt Explorer.

Ctl+g - viser Umiddelbart vindue.

F4 - viser Egenskaber vindue.

F2 - viser Objektbrowser.

F5 - kører Procedure du er inde.

F8 - giver dig mulighed for at gå gennem koden Pause mode.

Optagelse af en makro

En af de bedste måder at lære VBA på er at optage en makro og derefter analysere koden. Det er også en meget hurtig måde at skrive kode på, men optageren registrerer HVER tastetryk, så du skal muligvis redigere din kode for at fjerne overflødige linjer.

Lad os undersøge makroen herunder, der er registreret af makrooptageren, og se, hvordan vi kan gøre den mere effektiv.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 Sub TestFormat ()''TestFormat makro''Tastaturgenvej: Ctrl+Shift+T'ActiveCell.FormulaR1C1 = "Applese"Område ("D3"). VælgActiveCell.FormulaR1C1 = "Pærer"Område ("E3"). VælgActiveCell.FormulaR1C1 = "Ferskner"Område ("C4"). VælgActiveCell.FormulaR1C1 = "12"Område ("D4"). VælgActiveCell.FormulaR1C1 = "14"Område ("E4"). VælgActiveCell.FormulaR1C1 = "16"Område ("C5"). VælgActiveCell.FormulaR1C1 = "20"Område ("D5"). VælgActiveCell.FormulaR1C1 = "25"Område ("E5"). VælgActiveCell.FormulaR1C1 = "26"Område ("C6: E6"). VælgOmråde ("E6"). AktiverSelection.FormulaR1C1 = "= SUM (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.Vægt = xlThinAfslut medWith Selection.Borders (xlEdgeBottom).LineStyle = xlDouble.ColorIndex = 0.TintAndShade = 0.Vægt = xlThickAfslut medSelection.Borders (xlEdgeRight) .LineStyle = xlNoneSelection.Borders (xlInsideVertical) .LineStyle = xlNoneSelection.Borders (xlInsideHorizontal) .LineStyle = xlNoneOmråde ("C4: E6"). VælgSelection.NumberFormat = _"_- [$$-da-US]*#, ## 0.00_; _- [$$-en-US]*-#, ## 0.00; _- [$$-da-US]*" " -"" ?? _; _-@_ "Område ("C3: E3"). VælgSelection.Font.Bold = TrueOmråde ("C3"). VælgActiveCell.FormulaR1C1 = "Æbler"Afslut Sub

Se nu på koden herunder, som vil opnå det samme resultat

123456789101112131415161718192021 Sub TestFormat ()'Tastaturgenvej: Ctrl+Shift+TOmråde ("C3") = "Æbler"Område ("D3") = "Pærer"Range ("E3") = "Ferskner"Område ("C4") = 12Område ("D4") = 14Område ("C4") = 16Område ("C5") = 20Område ("D5") = 25Område ("E5") = "26"Område ("C6: E6"). VælgSelection.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Selection.Borders (xlEdgeTop) .LineStyle = xlContinuousSelection.Borders (xlEdgeBottom) .LineStyle = xlDoubleOmråde ("C4: E6"). VælgSelection.NumberFormat = _"_- [$$-da-US]*#, ## 0.00_; _- [$$-en-US]*-#, ## 0.00; _- [$$-da-US]*" " -"" ?? _; _-@_ "Område ("C3: E3"). VælgSelection.Font.Bold = TrueAfslut Sub

Ved at skære en masse redundant kode ud og ændre registreret kode, hvor det er muligt, kan vi gøre makroen meget mere effektiv og let at læse.

Brug af den personlige makro -projektmappe

Hvis du vil have en makro til at kunne bruges i alle dine Excel -filer, kan du gemme makroen i den personlige makro -projektmappe - denne projektmappe er skjult og er åben hele tiden i Excel, så alle makroer der er gemt der, globale makroer .

Hvis du ikke kan se en personlig makro -projektmappe i dit VBE -vindue, skal du optage en makro og angive, at den skal gemmes i den personlige makro -projektmappe.

Indrykningskode

Når du indrykker din kode, gør du det umiddelbart lettere at læse og for en anden at følge. Hvis du vil indrykke flere linjer med kode, kan du vælge dem og trykke på tabulatortasten.

På samme måde kan du overskride koden ved at trykke på Shift+Tab og koden bevæger sig til venstre igen.

Træt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!

Kommenterende kode

Tilføjelse af kommentarer til din kode er en anden måde at gøre det let at læse og navigere. Du tilføjer en kommentar til koden ved at sætte et enkelt anførselstegn i begyndelsen af ​​linjen som vist nedenfor.

At skrive med små bogstaver

VBA bruger Proper Case i kode. Hvis du skriver med små bogstaver, og det ikke ændres til Korrekt sag, kan du hurtigt se, hvor du har begået en fejl.

Brug af Intellisense

Intellisense dukker op, når du skriver kode og giver dig en liste over alle de egenskaber, metoder og begivenheder, der er tilgængelige for det objekt, du arbejder med. Det dukker normalt op automatisk, når du har skrevet en periode, når du skriver din kode.

Du kan også tvinge den til at dukke op ved at trykke på Ctl+j.

På samme måde, når du bruger funktioner i Excel, der tager argumenter, dukker disse normalt op automatisk.

Du kan tvinge dem til at dukke op ved at trykke på Ctl+i.

Auto-komplet

Du kan bruge Ctl+mellemrum tastekombination for at bruge automatisk udfyldning, når du skriver kode.

I eksemplet ovenfor er alle Egenskaber, metoder, begivenheder og Variabler begyndende med str vises på listen, som du kan vælge imellem.

Mulighed Eksplicit og kompileringskode

At sikre, at du har Option Explicit øverst på alle dine moduler, sikrer, at alle dine variabler er deklareret og forhindrer dig i at lave stavefejl i variabelnavne. Hvis du har Option Explicit slået til, og du kompilerer eller kører din kode, får du en fejl, hvis et variabelnavn ikke genkendes.

Det øjeblikkelige vindue og fejlfinding

Vinduet Umiddelbart (du kan tænde det ved hjælp af Ctl+g) giver dig mulighed for at fejlsøge din kode og finde værdien af ​​variabler, mens du er i denne fejlretningstilstand.

12345678 Sub TestVariables'erklærer variablenDim strName som streng'udfyld variablenstrName = "Anne Smith"'Brug F8 til at gå gennem koden og sende variabelværdien ved hjælp af debug.print til det umiddelbare vindueDebug.Print strNameAfslut sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave