Бути програмістом VBA часом може бути непосильним. Один із способів поглянути на VBA — це інструмент, який дозволяє імітувати команди Excel. Наприклад, розглянемо цю заяву VBA:
Діапазон(“A1:A12”).Name = “MonthNames”
Виконання цієї інструкції VBA має той самий ефект, що й вибір Формули → Визначені імена → Визначити ім’я для відображення діалогового вікна «Нова назва», введення «Імена місяців» у полі «Ім’я» та A1:A12 у полі «Посилається» та натискання кнопки «ОК».
Коли ви виконуєте оператор VBA, діалогове вікно Нове ім’я не з’являється. Це майже завжди те, що ви хочете, щоб сталося; ви не хочете, щоб діалогові вікна миготіли на екрані під час виконання вашого макросу.
Однак у деяких випадках вам може знадобитися, щоб ваш код відображав одне з багатьох вбудованих діалогових вікон Excel і дозволяв користувачеві робити вибір у діалоговому вікні. Ви можете зробити це за допомогою VBA для виконання команди стрічки. Ось приклад, який відображає діалогове вікно Нове ім’я. Адреса в полі Посилається на представляє діапазон, який вибирається під час виконання команди.
Відображення одного з діалогових вікон Excel за допомогою VBA.
Application.CommandBars.ExecuteMso «NameDefine»
Ваш код VBA не може отримати будь-яку інформацію з діалогового вікна. Наприклад, якщо ви виконуєте код, щоб відобразити діалогове вікно «Нове ім’я», ваш код не зможе отримати ім’я, введене користувачем, або діапазон, який іменується.
ExecuteMso є методом об’єкта CommandBars і приймає один аргумент: параметр idMso, який представляє елемент керування стрічкою. На жаль, ці параметри не вказані в довідковій системі. І оскільки стрічка не існує вічно, код, який використовує метод ExecuteMso, несумісний з версіями до Excel 2007.
Ось ще один приклад використання методу ExecuteMso. Ця інструкція, коли виконується, відображає вкладку «Шрифт» діалогового вікна «Формат клітинок»:
Application.CommandBars.ExecuteMso
«FormatCellsFontDialog»
Якщо ви спробуєте відобразити вбудоване діалогове вікно в неправильному контексті, Excel відображає повідомлення про помилку. Наприклад, ось оператор, який відображає діалогове вікно Format Number:
Application.CommandBars.ExecuteMso “NumberFormatsDialog”
Якщо ви виконуєте цей оператор, коли він не підходить (наприклад, вибрано фігуру), Excel відображає повідомлення про помилку, оскільки це діалогове вікно підходить лише для комірок аркуша.
Excel має тисячі команд. Як знайти назву потрібного? Одним із способів є використання вкладки «Налаштувати стрічку» діалогового вікна «Параметри Excel». Швидкий спосіб потрапити туди — клацнути правою кнопкою миші на будь-якому елементі керування стрічкою та вибрати «Налаштувати стрічку» у контекстному меню.
Практично всі команди, доступні в Excel, перераховані на лівій панелі. Знайдіть потрібну команду та наведіть на неї курсор миші, і ви побачите її секретну назву команди у підказці (це частина в дужках).
Використання вкладки «Налаштувати стрічку» для визначення імені команди.