Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Вступ до Debug.Print та MsgBox | Вступ до VBA та об'єктної моделі Excel
Excel VBA для автоматизації бізнесу

Вступ до Debug.Print та MsgBox

Свайпніть щоб показати меню

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

Debug.Print

Debug.Print [outputlist]
  • outputlist — один або декілька виразів для виведення, які можна об'єднувати за допомогою ; або &;
  • Без дужок, без повернення значення — це оператор, а не функція;
  • Завжди виводить у Вікно негайного виконання.
Debug.Print total            ' one value
Debug.Print "Total: "; total ' semicolon — adds a space between items
Debug.Print "Total: " & total' & — concatenates with no extra space

MsgBox

MsgBox(prompt, [buttons], [title], [helpfile], [context])
MsgBox "Done."                                        ' statement form — no parentheses needed
result = MsgBox("Continue?", vbYesNo, "Confirm")       ' function form — parentheses required
Note
Примітка

Дужки навколо аргументів MsgBox використовуються лише тоді, коли потрібно зберегти повернуте значення. Якщо використовується як простий оператор (без присвоєння), дужки — це помилка: MsgBox("Done.") все ще виконається, але якщо додати другий аргумент без присвоєння, MsgBox ("Continue?", vbYesNo) викличе синтаксичну помилку. Не використовуйте дужки для операторної форми, додавайте їх лише при написанні result = MsgBox(...).

Для чого насправді використовується кожен з них

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

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 5
some-alt