Группы и рассылки:

Вы здесь

Примеры макросов в Excel. Диалоговое VBA сообщение msgBox

Версия для печати

   В прошлой статье мы вкратце познакомились с записью макроса при помощи рекордера Excel. Сейчас мы углубимся в эти дебри и напишем для примера пару простейших макросов. В одном из примеров по традиции продемонстрируем работу с диалоговым окном типа «Сообщение», в другом расширим наше диалоговое окно.

Пример 1. Простое диалоговое сообщение msgBox в VBA

   Не будем отступать от традиций начала всех примеров программирования. Напишем макрос, который при запуске выдаст нам окно сообщения с надписью «Hello World». Заодно рассмотрим работу с пользовательскими диалогами.

Теперь писать макросы будем только в ручном режиме, никаких рекордеров!

Итак, для того чтоб создать макрос, Вам необходимо открыть окно всеми любимого редактора Visual Basic (VB).smiley Для этого выполняем следующие действия: Сервис-Макрос-Редактор Visual Basic (Alt+F11).

меню открытия редактора Visual Basic

Откроется окно редактора MS Visual Basic.

окно редактора Visual Basic

   Если у Вас отсутствуют левые окна, то их необходимо включить. Для этого нажмите F4 – Открывает окно свойств Properties Window, и сочетание клавиш Ctrl+R – открывает окно Project Explorer.  Без этих окон в дальнейшем затруднительно работать. Все! Сделали.

Что мы видим в окне Project? В данном  окне отражается как раз таки структура нашей книги. Объекты книги – Лист1, 2, 3, Эта книга. Более подробно изучим данные объекты в последующих статьях, а пока возвращаюсь к примеру.

Что необходимо сделать для того чтоб начать писать код? Необходимо создать модуль. Примечание: Вообще, в дальнейшем рекомендую разделять код обработчиков на разные модули. Это облегчит понимание кода и создаст порядок в структуре.

Создаем модуль: Insert – Module

создание модуля в VBA

   Перед нами открылось пустое окно модуля, напоминает блокнот. Такое окно мы уже видели, когда записывали первый макрос в прошлой статье. По правилам «хорошего тона» дадим имя нашему модулю, назовем его «MacroBook». Для этого перейдите в окно свойств и введите имя в поле (Name)

ввод имени модуля VBA

Переходим в окно редактирования кода и пишем следующее:

макрос сообщение

Готово! Открываем окно рабочей книги Excel, жмем Alt+F8 и видим наш макрос «Hello»

окно выбора макросов Excel

Остается только «Выполнить». В результате работы макроса мы получим сообщение следующего вида и содержания:

сообщение Hello World в Excel

Пример 2. Расширенное диалоговое сообщение msgBox в VBA

Рассмотрим еще один вид диалоговых сообщений, которые содержат дополнительные кнопки «Да», «Нет», «Отмена»

Переходим к коду нашего макроса «Hello» и дописываем к команде msgbox следующее:

MsgBox "Hello, World!", vbYesNoCancel, "Мой макрос" 

Обратите внимание, когда вы поставите запятую после «Hello, World!», у Вас должен появиться список всех доступных типов диалоговых окон

список типов сообщений msgbox

Поэкспериментируйте с каждым для понимания.

Как Вы заметили, я добавил еще один параметр к команде msgBox – “Мой макрос”. Это подпись нашего окна. Этот параметр не обязателен, но я рекомендую все диалоги подписывать наименованием своей разработки или иной информацией.

Запустим наш макрос

Теперь у нас открылась совсем иная форма сообщения.

На этом пока все. Следите за выходом статей и уроков. Если возникли вопросы, с удовольствием отвечу, а если будет необходимо, напишу статью с пояснением.wink

Видео: Пример работы msgbox в vba

 

 

Автор: 
Deys
Категории: 

Комментарии

а как сделать чтобы он выполнил к примеру если да то 1 действие а если нет то другое???

 

Более расширенная работа с MsgBox описана в этой статье http://www.programm-school.ru/primer_raboty_s_msgbox.html

Там же есть пример демонстрирующий проверку ответа на сообщение.

 

(((
выдает ошибку Can't execute ....mode
когда я добавляю подпись окна "Hello, world", далее эта ошибка ничем не убирается, если только заново все закрыть и создать.........почему???

 

Код ошибки какой?

 

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Для предотвращения регистрации спам-роботов введите символы с картинки.
CAPTCHA на основе изображений
Введите символы, изображенные на картинке.
Разместить свое видео на сайте
Вы можете разместить свои 
видео-уроки на сайте
БЕСПЛАТНО!


Подробнее>>>