VBA - Ярлики для редактора Visual Basic

Цей підручник покаже вам ряд дійсно корисних ярликів у VBA

Відкрийте VBE за допомогою клавіш Alt + F11

Зазвичай, щоб потрапити до редактора Visual Basic, потрібно натиснути кнопку Visual Basic на стрічці Excel. Однак можна натиснути Alt + F11 замість цього!

Швидкі клавіші у VBE

Ctl+r- показує Провідник проектів.

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"). АктивуйтеSelection.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Selection.Border (xlDiagonalDown) .LineStyle = xlNoneSelection.Border (xlDiagonalUp) .LineStyle = xlNoneSelection.Border (xlEdgeLeft) .LineStyle = xlNoneЗ Selection.Border (xlEdgeTop).LineStyle = xl Безперервний.ColorIndex = 0.TintAndShade = 0.Вага = x1ТонкийЗакінчити зЗ Selection.Border (xlEdgeBottom).LineStyle = xlDouble.ColorIndex = 0.TintAndShade = 0.Вага = xlТовстийЗакінчити зSelection.Border (xlEdgeRight) .LineStyle = xlNoneSelection.Border (xlInsideVertical) .LineStyle = xlNoneSelection.Border (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+TДіапазон ("C3") = "Яблука"Діапазон ("D3") = "Груші"Діапазон ("E3") = "Персики"Діапазон ("C4") = 12Діапазон ("D4") = 14Діапазон ("C4") = 16Діапазон ("C5") = 20Діапазон ("D5") = 25Діапазон ("E5") = "26"Діапазон ("C6: E6"). ВиберітьSelection.FormulaR1C1 = "= SUM (R [-2] C: R [-1] C)"Selection.Border (xlEdgeTop) .LineStyle = xlContinuousSelection.Border (xlEdgeBottom) .LineStyle = xlDoubleДіапазон ("C4: E6"). ВиберітьSelection.NumberFormat = _"_- [$$-en-US]*#, ## 0.00_; _- [$$-en-US]*-#, ## 0.00; _- [$$-en-US]*" " -"" ?? _; _-@_ "Діапазон ("C3: E3"). ВиберітьSelection.Font.Bold = ПравдаEnd Sub

Вирізаючи велику кількість зайвого коду та, де можливо, змінюючи записаний код, ми можемо зробити макрос набагато ефективнішим та легким для читання.

Використання книги «Особистий макрос»

Якщо ви хочете, щоб макрос можна було використовувати у всіх файлах Excel, ви можете зберегти макрос у книзі "Особистий макрос" - ця книга прихована і весь час відкрита в Excel, що робить будь -які макроси, що там зберігаються, глобальними макросами. .

Якщо у вікні VBE немає робочої книги "Персональний макрос", запишіть макрос і вкажіть, чи зберігатись він у книзі "Особистий макрос".

Код відступу

Коли ви відступаєте у своєму коді, ви одразу полегшуєте його читання та дотримання кимось іншим. Щоб відступити кілька рядків коду, ви можете вибрати їх і натиснути клавішу Tab.

Аналогічно, щоб випереджати код, натисніть Shift+Tab і код знову переміститься ліворуч.

Втомилися від пошуку прикладів коду VBA? Спробуйте AutoMacro!

Код коментування

Додавання коментарів до коду - це ще один спосіб полегшити читання та навігацію. Ви додаєте коментар до коду, ставлячи одну лапку на початку рядка, як показано нижче.

Письмо з малої літери

VBA використовує правильний регістр у коді. Якщо ви пишете малі літери, але вони не змінюються на Власний регістр, ви можете швидко побачити, де ви припустилися помилки.

Використання Intellisense

Intellisense з'являється, коли ви пишете код, і дає вам список усіх властивостей, методів та подій, доступних для об'єкта, з яким ви працюєте. Зазвичай він з'являється автоматично після того, як ви вводите крапку під час введення коду.

Ви також можете змусити його відобразитися, натиснувши Ctl+j.

Аналогічно, коли ви використовуєте функції Excel, які приймають аргументи, вони зазвичай з'являються автоматично.

Ви можете змусити їх з'явитися, натиснувши Ctl+i.

Автозаповнення

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

У наведеному вище прикладі всі Властивості, методи, події та Змінні починаючи з вул з'явиться у списку, з якого можна вибрати.

Варіант явного та компіляційного коду

Переконавшись, що у вас є Option Explicit у верхній частині всіх ваших модулів, гарантується, що всі ваші змінні оголошені, і запобігає вам робити орфографічні помилки в іменах змінних. Якщо у вас є Option Explicit і ви компілюєте або запускаєте свій код, ви отримаєте повідомлення про помилку, якщо ім’я змінної не розпізнається.

Негайне вікно та налагодження

Негайне вікно (ви можете увімкнути його за допомогою Ctl+g) дозволяє налагоджувати код і знаходити значення змінних, поки ви перебуваєте в цьому режимі налагодження.

12345678 Змінні субтесту'оголосити зміннуЗатемнити strName як рядок'заповнити зміннуstrName = "Енн Сміт"'використовуйте клавішу F8, щоб пройти через код і надіслати значення змінної за допомогою debug.print у безпосереднє вікноНалагодження.Надрукувати strNameКінець підп

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave