VBA - преки пътища за редактора на Visual Basic

Този урок ще ви покаже разнообразие от наистина полезни преки пътища във VBA

Използвайте Alt + F11, за да отворите VBE

Обикновено, за да стигнете до редактора на Visual Basic, трябва да щракнете върху бутона Visual Basic на лентата на Excel. Можете обаче да натиснете Alt + F11 вместо!

Бързи клавиши във VBE

Ctl+r- показва Project Explorer.

Ctl+g - показва Незабавен прозорец.

F4 - показва Прозорец за свойства.

F2 - показва Браузър на обекти.

F5 - управлява Процедура ти си в.

F8 - ви позволява да преминете през кода Прекъсване режим.

Запис на макрос

Един от най -добрите начини да научите VBA е да запишете макрос и след това да анализирате кода. Това също е много бърз начин за писане на код, но рекордерът ще записва ВСЕКИ натискания на клавиши, така че може да се наложи да редактирате кода си, за да премахнете излишните редове.

Нека разгледаме макроса по -долу, записан от макрорекордера, и да видим как можем да го направим по -ефективен.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 Sub TestFormat ()''TestFormat макрос'„Клавишна комбинация: Ctrl+Shift+T'ActiveCell.FormulaR1C1 = "Applese"Обхват ("D3"). ИзберетеActiveCell.FormulaR1C1 = "Круши"Обхват ("E3"). ИзберетеActiveCell.FormulaR1C1 = "Праскови"Обхват ("C4"). ИзберетеActiveCell.FormulaR1C1 = "12"Обхват ("D4"). ИзберетеActiveCell.FormulaR1C1 = "14"Обхват ("E4"). ИзберетеActiveCell.FormulaR1C1 = "16"Обхват ("C5"). ИзберетеActiveCell.FormulaR1C1 = "20"Обхват ("D5"). ИзберетеActiveCell.FormulaR1C1 = "25"Обхват ("E5"). ИзберетеActiveCell.FormulaR1C1 = "26"Обхват ("C6: E6"). ИзберетеДиапазон ("E6"). АктивирайтеИзбор.Формула R1C1 = "= SUM (R [-2] C: R [-1] C)"Избор.Граници (xlDiagonalDown) .LineStyle = xlNoneИзбор.Граници (xlDiagonalUp) .LineStyle = xlNoneИзбор.Граници (xlEdgeLeft) .LineStyle = xlNoneС Selection.Borders (xlEdgeTop).LineStyle = xl Непрекъснато.ColorIndex = 0.TintAndShade = 0.Тегло = xlТънкоКрай сС Selection.Borders (xlEdgeBottom).LineStyle = xlDouble.ColorIndex = 0.TintAndShade = 0.Тегло = xlДебелКрай сИзбор.Граници (xlEdgeRight) .LineStyle = xlNoneИзбор.Граници (xlInsideVertical) .LineStyle = xlNoneИзбор.Граници (xlInsideHorizontal) .LineStyle = xlNoneОбхват ("C4: E6"). ИзберетеSelection.NumberFormat = _"_- [$$-en-US]*#, ## 0.00_; _- [$$-en-US]*-#, ## 0.00; _- [$$-en-US]*" " -"" ?? _; _-@_ "Обхват ("C3: E3"). ИзберетеSelection.Font.Bold = ВярноОбхват ("C3"). ИзберетеActiveCell.FormulaR1C1 = "Ябълки"End Sub

Сега погледнете кода по -долу, който ще постигне същия резултат

123456789101112131415161718192021 Sub TestFormat ()„Клавишна комбинация: Ctrl+Shift+TRange ("C3") = "Ябълки"Range ("D3") = "Круши"Range ("E3") = "Праскови"Обхват ("C4") = 12Обхват ("D4") = 14Обхват ("C4") = 16Обхват ("C5") = 20Обхват ("D5") = 25Диапазон ("E5") = "26"Обхват ("C6: E6"). ИзберетеИзбор.Формула R1C1 = "= SUM (R [-2] C: R [-1] C)"Избор.Граници (xlEdgeTop) .LineStyle = xlНепрекъснатоИзбор.Граници (xlEdgeBottom) .LineStyle = xlDoubleОбхват ("C4: E6"). ИзберетеSelection.NumberFormat = _"_- [$$-en-US]*#, ## 0.00_; _- [$$-en-US]*-#, ## 0.00; _- [$$-en-US]*" " -"" ?? _; _-@_ "Обхват ("C3: E3"). ИзберетеSelection.Font.Bold = ВярноEnd Sub

Изрязвайки много излишен код и променяйки записания код, когато е възможно, можем да направим макроса много по -ефективен и лесен за четене.

Използване на работната книга Personal Macro

Ако искате даден макрос да може да се използва във всички ваши Excel файлове, можете да съхранявате макроса в работната книга Personal Macro - тази работна книга е скрита и е отворена през цялото време в Excel, което прави всички макроси, съхранявани там, глобални макроси .

Ако не виждате лична работна книга за макроси във вашия прозорец VBE, запишете макрос и посочете той да се съхранява в работната книга за лични макроси.

Код за отстъп

Когато отстъпвате кода си, веднага улеснявате четенето и следването на някой друг. За да отстъпите няколко реда код, можете да ги изберете и да натиснете клавиша Tab.

По същия начин, за да изпреварите кода, натиснете Shift+Tab и кодът отново ще се премести наляво.

Уморени ли сте от търсене на примери за VBA код? Опитайте AutoMacro!

Коментиращ код

Добавянето на коментари към кода ви е друг начин да улесните четенето и навигацията. Можете да добавите коментар към кода, като поставите единичен кавичка в началото на реда, както е показано по -долу.

Писане с малки букви

VBA използва подходящ регистър в кода. Ако пишете с малки букви и не се променя на Правилен регистър, можете бързо да видите къде сте допуснали грешка.

Използване на Intellisense

Intellisense се появява, когато пишете код и ви дава списък с всички свойства, методи и събития, които са достъпни за обекта, с който работите. Обикновено се появява автоматично, след като въведете период, когато въвеждате кода си.

Можете също така да го принудите да се покаже, като натиснете Ctl+j.

По същия начин, когато използвате функции в Excel, които приемат аргументи, те обикновено се появяват автоматично.

Можете да ги принудите да се появят, като натиснете Ctl+i.

Автоматично завършване

Можете да използвате Ctl+интервал комбинация от клавиши за използване на автоматично попълване при писане на код.

В горния пример всички Свойства, методи, събития и Променливи започвайки с ул ще се появи в списъка, от който да избирате.

Опция Изричен и компилиращ код

Уверяването, че имате Option Explicit в горната част на всичките си модули гарантира, че всичките ви променливи са декларирани и ви предпазва от правописни грешки в имената на променливите. Ако имате опция Explicit включена и компилирате или стартирате кода си, ще получите грешка, ако името на променлива не бъде разпознато.

Незабавен прозорец и отстраняване на грешки

Непосредственият прозорец (можете да го включите с помощта Ctl+g) ви позволява да отстранявате грешки в кода си и да намирате стойността на променливите, докато сте в този режим за отстраняване на грешки.

12345678 Подпробни променливи'декларирайте променливатаЗатъмнете strName като низ'попълнете променливатаstrName = "Ан Смит"'използвайте F8, за да преминете през кода и да изпратите променливата стойност с помощта на debug.print в непосредствения прозорецDebug.Print strNameКрай под

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave