VBA - Comenzi rapide pentru Editorul Visual Basic

Acest tutorial vă va arăta o varietate de comenzi rapide foarte utile în VBA

Utilizați Alt + F11 pentru a deschide VBE

De obicei, pentru a ajunge la Editorul Visual Basic, trebuie să faceți clic pe butonul Visual Basic de pe panglica Excel. Cu toate acestea, puteți apăsa Alt + F11 in schimb!

Taste rapide în VBE

Ctl + r- arata Project Explorer.

Ctl + g - arata Fereastra imediata.

F4 - arata Fereastra Proprietăți.

F2 - arata Browser de obiecte.

F5 - rulează Procedură vă aflați în.

F8 - vă permite să parcurgeți codul Pauză modul.

Înregistrarea unei macro

Una dintre cele mai bune modalități de a învăța VBA este de a înregistra o macro și apoi de a analiza codul. Este, de asemenea, o modalitate foarte rapidă de a scrie cod, dar reportofonul va înregistra FIECARE apăsare de tastă, deci este posibil să fie necesar să vă editați codul pentru a elimina liniile redundante.

Să examinăm macro-ul de mai jos înregistrat de recorderul macro și să vedem cum îl putem face mai eficient.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 Sub TestFormat ()''TestFormat Macro''Comandă rapidă de la tastatură: Ctrl + Shift + T'ActiveCell.FormulaR1C1 = "Aplicați"Range ("D3"). SelectațiActiveCell.FormulaR1C1 = "Pere"Range („E3”). SelectațiActiveCell.FormulaR1C1 = "Piersici"Gama ("C4"). SelectațiActiveCell.FormulaR1C1 = "12"Range ("D4"). SelectațiActiveCell.FormulaR1C1 = "14"Range ("E4"). SelectațiActiveCell.FormulaR1C1 = "16"Range ("C5"). SelectațiActiveCell.FormulaR1C1 = "20"Range ("D5"). SelectațiActiveCell.FormulaR1C1 = "25"Range ("E5"). SelectațiActiveCell.FormulaR1C1 = "26"Range ("C6: E6"). SelectațiGama („E6”). ActivațiSelecție.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Selection.Borders (xlDiagonalDown) .LineStyle = xlNoneSelection.Borders (xlDiagonalUp) .LineStyle = xlNoneSelection.Borders (xlEdgeLeft) .LineStyle = xlNoneCu Selection.Borders (xlEdgeTop).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Greutate = xlThinSe termina cuCu Selection.Borders (xlEdgeBottom).LineStyle = xlDouble.ColorIndex = 0.TintAndShade = 0.Greutate = xlThickSe termina cuSelection.Borders (xlEdgeRight) .LineStyle = xlNoneSelection.Borders (xlInsideVertical) .LineStyle = xlNoneSelection.Borders (xlInsideHorizontal) .LineStyle = xlNoneRange ("C4: E6"). SelectațiSelection.NumberFormat = _"_- [$$ - en-US] * #, ## 0.00_; _- [$$ - en-US] * - #, ## 0.00; _- [$$ - en-US] *" " - "" ?? _; _- @ _ "Range ("C3: E3"). SelectațiSelection.Font.Bold = AdevăratRange ("C3"). SelectațiActiveCell.FormulaR1C1 = "Mere"Sfârșitul Sub

Uită-te acum la codul de mai jos, care va obține același rezultat

123456789101112131415161718192021 Sub TestFormat ()'Comandă rapidă de la tastatură: Ctrl + Shift + TRange ("C3") = "Mere"Range ("D3") = "Pere"Range ("E3") = "Piersici"Interval ("C4") = 12Gama ("D4") = 14Gama ("C4") = 16Gama ("C5") = 20Gama ("D5") = 25Gama ("E5") = "26"Range ("C6: E6"). SelectațiSelecție.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Selection.Borders (xlEdgeTop) .LineStyle = xlContinuousSelection.Borders (xlEdgeBottom) .LineStyle = xlDoubleRange ("C4: E6"). SelectațiSelection.NumberFormat = _"_- [$$ - en-US] * #, ## 0.00_; _- [$$ - en-US] * - #, ## 0.00; _- [$$ - en-US] *" " - "" ?? _; _- @ _ "Range ("C3: E3"). SelectațiSelection.Font.Bold = AdevăratSfârșitul Sub

Prin tăierea multor coduri redundante și modificarea codului înregistrat acolo unde este posibil, putem face macro-ul mult mai eficient și mai ușor de citit.

Utilizarea registrului de lucru Personal Macro

Dacă doriți ca o macrocomandă să poată fi utilizată în toate fișierele Excel, puteți stoca macrocomanda în registrul de lucru Macro personal - acest registru de lucru este ascuns și este deschis tot timpul în Excel, făcând orice macrocomenzi stocate acolo, macrocomenzi globale .

Dacă nu vedeți un registru de lucru personal Macro în fereastra VBE, înregistrați o macro și specificați-o pentru a fi stocată în registrul de lucru Personal Macro.

Cod de indentare

Când introduceți codul, faceți mai ușor citirea și urmarea altcuiva. Pentru a indenta mai multe linii de cod, le puteți selecta și apăsați tasta Tab.

În mod similar, pentru a depăși codul, apăsați Shift + Tab iar codul se va muta din nou spre stânga.

V-ați săturat să căutați exemple de cod VBA? Încercați AutoMacro!

Cod de comentare

Adăugarea de comentarii la codul dvs. este un alt mod de a ușura citirea și navigarea. Adăugați un comentariu la cod punând un singur ghilimel la începutul rândului, așa cum se arată mai jos.

Scrierea cu litere mici

VBA folosește Proper Case în cod. Dacă scrieți cu litere mici și nu se schimbă în minuscule, puteți vedea rapid unde ați făcut o greșeală.

Folosind Intellisense

Intellisense apare când scrieți cod și vă oferă o listă cu toate proprietățile, metodele și evenimentele disponibile pentru obiectul cu care lucrați. În mod normal, apare automat după ce introduceți o perioadă în care introduceți codul.

De asemenea, îl puteți forța să apară apăsând Ctl + j.

În mod similar, atunci când utilizați funcții în Excel care acceptă argumente, acestea apar în mod automat în mod automat.

Îi poți forța să apară apăsând Ctl + i.

Completare automată

Puteți utiliza Ctl + Spațiu combinație de taste pentru a utiliza completarea automată la scrierea codului.

În exemplul de mai sus, toate Proprietăți, metode, evenimente și Variabile incepand cu str va apărea în listă pentru a o selecta.

Opțiune Explicit și Cod de compilare

Asigurându-vă că aveți opțiunea Explicit în partea de sus a tuturor modulelor, vă asigură că toate variabilele sunt declarate și vă împiedică să faceți greșeli de ortografie în numele variabilelor. Dacă aveți opțiunea Explicit activată și compilați sau rulați codul, veți primi o eroare dacă un nume de variabilă nu este recunoscut.

Fereastra imediată și depanare

Fereastra Imediată (o puteți porni folosind Ctl + g) vă permite să depanați codul și să găsiți valoarea variabilelor în timp ce vă aflați în acest mod de depanare.

12345678 SubVariabile de test'declara variabilaDim strName ca șir'populează variabilastrName = "Anne Smith"'utilizați F8 pentru a parcurge codul și a trimite valoarea variabilă folosind debug.print în fereastra imediatăDebug.Print strNameÎncheierea sub

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave