Когда вы создаете макросы в VBA, вы можете легко включить использование окон сообщений. Обычно они используются для передачи информации пользователю и для получения элементарного ввода. Вы включаете окна сообщений с помощью команды MsgBox. Следующая часть макроса создает очень простое окно сообщения:

MsgBox "The Macro is Done"

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

Type

Symbol

16

Stop sign

32

Question mark in a circle

48

Exclamation point in a circle

64

Information symbol (lowercase i in a circle)

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

MsgBox "Can't run this macro on this text", 48

До сих пор команда MsgBox использовалась как инструкция, но вы также можете использовать ее как функцию. Если вы это сделаете, вы можете использовать его, чтобы получить простой ввод от пользователя. Чтобы сделать функцию MsgBox более полезной, Excel позволяет отображать в диалоговом окне больше интерактивных кнопок, помимо кнопки ОК. Это делается путем настройки кода типа, который использовался для символов, отображаемых в окне сообщения. Следующие комбинации кнопок можно отображать в окне сообщения:

Type

Button Types

1

OK, Cancel

2

Abort, Retry, Ignore

3

Yes, No, Cancel

4

Yes, No

5

Retry, Cancel

Чтобы использовать кнопки, вы просто добавляете значение типа кнопки к значению, которое вы хотите использовать для символа. В предыдущем примере вы использовали код 48 для отображения символа восклицательного знака. Если вы хотите также включить кнопки «Прервать», «Повторить попытку», «Игнорировать», вы просто измените код на 50, то есть 48 (код символа) плюс 2 (код кнопки).

При использовании кнопок таким образом функция MsgBox возвращает значение, указывающее, какую кнопку выбрал пользователь. Кнопки возвращают, слева направо, -1, 0 и 1. Таким образом, если вы используете код кнопки 3, то -1 будет означать, что пользователь выбрал Да, 0 означает Нет, а 1 означает Отмена.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2265) применим к Microsoft Excel 97, 2000, 2002 и 2003.