Методи налагодження для Excel 2016 VBA

Ви можете зіткнутися з деякими проблемами з кодом VBA, але як знайти проблему? Іноді ваш код VBA може потребувати налагодження. Продовжуйте читати, щоб дізнатися про чотири найпоширеніші методи налагодження коду Excel VBA:

  • Перевірка коду

  • Вставлення функцій MsgBox у різні місця вашого коду

  • Вставлення операторів Debug.Print

  • Використання вбудованих засобів налагодження Excel

Перевірка вашого коду

Можливо, найпростіший метод налагодження – це просто уважно розглянути ваш код, щоб побачити, чи можна знайти проблему. Цей метод, звичайно, вимагає знань і досвіду. Іншими словами, ви повинні знати, що ви робите. Якщо вам пощастить, помилка відразу вискочить, і ви б'єте по чолу і кажете: «Д'ой!» Коли біль у лобі зменшиться, ви можете вирішити проблему.

Зверніть увагу на використання слів «Якщо пощастить». Це тому, що часто ви виявляєте помилки, коли працюєте над своєю програмою вісім годин поспіль, це 2 години ночі, і ви працюєте на кофеїні та силі волі. У такі моменти вам пощастить, якщо ви навіть можете побачити свій код, не кажучи вже про помилки. Тому не дивуйтеся, якщо простого вивчення вашого коду недостатньо, щоб змусити вас знайти та видалити всі помилки, які він містить.

Використання функції MsgBox

Поширена проблема в багатьох програмах полягає в тому, що одна або кілька змінних не набувають очікуваних значень. У таких випадках моніторинг змінних під час виконання коду є корисним методом налагодження. Один із способів зробити це – вставити тимчасові функції MsgBox у вашу рутину. Наприклад, якщо у вас є змінна з назвою CellCount, ви можете вставити такий оператор:

MsgBox CellCount

Коли ви виконуєте процедуру, функція MsgBox відображає значення CellCount.

Часто корисно відображати значення двох або більше змінних у вікні повідомлення. Наступний оператор відображає поточне значення двох змінних: LoopIndex (1) і CellCount (72), розділені пробілом.

MsgBox LoopIndex & “ “ & CellCount

Зверніть увагу, що дві змінні об’єднані оператором конкатенації (&) і вставте між ними пробіл. В іншому випадку вікно повідомлення об’єднує два значення разом, завдяки чому вони виглядають як одне значення. Ви також можете використовувати вбудовану константу vbNewLine замість пробілу. vbNewLine вставляє розрив переведення рядка, який відображає текст на новому рядку. Наступний оператор відображає три змінні, кожна в окремому рядку:

Методи налагодження для Excel 2016 VBA

Використання вікна повідомлення для відображення значення трьох змінних.

MsgBox LoopIndex & vbNewLine & CellCount & vbNewLine & MyVal

Ця техніка не обмежується моніторингом змінних. Ви можете використовувати вікно повідомлень для відображення різної корисної інформації під час виконання коду. Наприклад, якщо ваш код перебирає серію аркушів, наступний оператор відображає назву та тип активного аркуша:

MsgBox ActiveSheet.Name & “ “ & TypeName (ActiveSheet)

Якщо у вікні повідомлення відображається щось несподіване, натисніть Ctrl+Break, і ви побачите діалогове вікно, яке повідомляє, що виконання коду перервано, у вас є чотири варіанти:

  • Натисніть кнопку Продовжити. Код продовжує виконуватися.

  • Натисніть кнопку Завершити. Виконання припиняється.

  • Натисніть кнопку Налагодити. VBE переходить у режим налагодження.

  • Натисніть кнопку Довідка. Екран довідки повідомляє, що ви натиснули Ctrl+Break. Іншими словами, це не дуже корисно.

    Методи налагодження для Excel 2016 VBA

    Натискання Ctrl+Break зупиняє виконання вашого коду та дає вам можливість вибору.

Якщо на вашій клавіатурі немає клавіші Break, спробуйте натиснути Ctrl+ScrollLock.

Не соромтеся часто використовувати функції MsgBox під час налагодження коду. Просто переконайтеся, що ви видалили їх після виявлення та усунення проблеми.

Вставлення операторів Debug.Print

Як альтернативу використанню функцій MsgBox у вашому коді, ви можете вставити один або кілька тимчасових операторів Debug.Print. Використовуйте ці оператори, щоб надрукувати значення однієї або кількох змінних у вікні «Негайне». Ось приклад, який відображає значення трьох змінних:

Debug.Print LoopIndex, CellCount, MyVal

Зверніть увагу, що змінні розділяються комами. За допомогою одного оператора Debug.Print можна відображати скільки завгодно змінних.

Debug.Print надсилає вихід у вікно Immediate, навіть якщо це вікно приховане. Якщо вікно VBE «Негайне» не відображається, натисніть Ctrl+G (або виберіть «Перегляд» → «Негайне вікно»). Ось деякі результати у вікні "Негайне".

Методи налагодження для Excel 2016 VBA

Оператор Debug.Print надсилає вихід у вікно Immediate.

На відміну від MsgBox, оператори Debug.Print не зупиняють ваш код. Тож вам потрібно стежити за вікном Immediate, щоб побачити, що відбувається.

Після налагодження коду обов’язково видаліть усі оператори Debug.Print. Навіть великі компанії, такі як Microsoft, іноді забувають видалити свої заяви Debug.Print. У кількох попередніх версіях Excel щоразу, коли відкривався надбудова Analysis ToolPak, у вікні «Негайне» ви бачили кілька дивних повідомлень. Цю проблему нарешті було вирішено в Excel 2007.

Використання налагоджувача VBA

Дизайнери Excel добре знайомі з концепцією помилок. Отже, Excel включає в себе набір інструментів для налагодження, які можуть допомогти вам усунути проблеми в коді VBA.


Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows

Як заборонити Microsoft Word відкривати файли в режимі лише для читання в Windows. Microsoft Word відкриває файли в режимі лише для читання, що робить неможливим їх редагування? Не хвилюйтеся, методи наведено нижче

Як виправити неправильний друк документів Microsoft Word

Як виправити неправильний друк документів Microsoft Word

Як виправити помилки під час друку неправильних документів Microsoft Word Помилки під час друку документів Word зі зміненими шрифтами, безладними абзацами, відсутнім текстом або втраченим вмістом є досить поширеними. Однак не варто

Зітріть малюнки ручкою та маркером на слайдах PowerPoint

Зітріть малюнки ручкою та маркером на слайдах PowerPoint

Якщо ви використовували перо або маркер для малювання на слайдах PowerPoint під час презентації, ви можете зберегти малюнки для наступної презентації або стерти їх, щоб наступного разу, коли ви показуватимете їх, розпочали з чистих слайдів PowerPoint. Дотримуйтесь цих інструкцій, щоб стерти малюнки пером і маркером: Стирання рядків на одній з […]

Вміст бібліотеки стилів у SharePoint 2010

Вміст бібліотеки стилів у SharePoint 2010

Бібліотека стилів містить файли CSS, файли мови розширюваної мови таблиць стилів (XSL) та зображення, які використовуються попередньо визначеними основними сторінками, макетами сторінок та елементами керування в SharePoint 2010. Щоб знайти файли CSS у бібліотеці стилів сайту видавництва: виберіть «Дії сайту»→ «Перегляд». Весь вміст сайту. З’являється вміст сайту. Бібліотека Style знаходиться в […]

Форматуйте числа в тисячах і мільйонах у звітах Excel

Форматуйте числа в тисячах і мільйонах у звітах Excel

Не перевантажуйте аудиторію гігантськими цифрами. У Microsoft Excel ви можете покращити читабельність своїх інформаційних панелей і звітів, відформатувавши числа, щоб вони відображалися в тисячах або мільйонах.

Як ділитися сайтами SharePoint і слідкувати за ними

Як ділитися сайтами SharePoint і слідкувати за ними

Дізнайтеся, як використовувати інструменти соціальних мереж SharePoint, які дозволяють особам і групам спілкуватися, співпрацювати, обмінюватися інформацією та спілкуватися.

Як перетворити дати в юліанські формати в Excel

Як перетворити дати в юліанські формати в Excel

Юліанські дати часто використовуються у виробничих середовищах як мітка часу та швидкий довідник для номера партії. Цей тип кодування дати дозволяє роздрібним продавцям, споживачам та агентам з обслуговування визначити, коли був виготовлений продукт, а отже, і вік продукту. Юліанські дати також використовуються в програмуванні, військовій справі та астрономії. Інший […]

Як створити веб-програму Access

Як створити веб-програму Access

Ви можете створити веб-програму в Access 2016. Так що ж таке веб-програма? Ну, веб означає, що він онлайн, а додаток — це просто скорочення від «додаток». Користувацька веб-програма — це онлайн-додаток для баз даних, доступ до якого здійснюється з хмари за допомогою браузера. Ви створюєте та підтримуєте веб-програму у настільній версії […]

Панель швидкого запуску в SharePoint 2010

Панель швидкого запуску в SharePoint 2010

Більшість сторінок у SharePoint 2010 відображають список посилань навігації на панелі швидкого запуску ліворуч. Панель швидкого запуску відображає посилання на пропонований вміст сайту, наприклад списки, бібліотеки, сайти та сторінки публікації. Панель швидкого запуску містить два дуже важливі посилання: Посилання на весь вміст сайту: […]

Що означають повідомлення про помилки розв’язувача в Excel?

Що означають повідомлення про помилки розв’язувача в Excel?

Для простих задач Solver в Excel зазвичай швидко знаходить оптимальні значення змінної Solver для цільової функції. Але в деяких випадках Solver має проблеми з пошуком значень змінної Solver, які оптимізують цільову функцію. У цих випадках Solver зазвичай відображає повідомлення або повідомлення про помилку, що описує або обговорює проблему, яка […]