Vba: как создать окно сообщения с ответами да/нет


Вы можете использовать следующий синтаксис в VBA, чтобы создать окно сообщения, в котором пользователь может выбрать «Да» или «Нет»:

 Sub MsgBoxYesNo()

    'ask user if they want to multiply two cells
    UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)

    'perform action based on user response
    If UserResponse = vbYes Then
      Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
    Else
      MsgBox “ No Multiplication was PerformedEnd If

End Sub

Этот конкретный макрос создает окно сообщения, которое спрашивает пользователя, хотят ли они умножить ячейки A1 и B1.

Если пользователь нажимает «Да», обе ячейки умножаются, и результат отображается в ячейке C1.

Если пользователь нажимает «Нет», появляется новое окно сообщения, сообщающее, что умножение не выполнялось.

Обратите внимание, что оператор vb YesNo вставляет кнопки «Да» и «Нет», которые пользователь может нажать.

Следующие примеры показывают, как использовать этот синтаксис на практике.

Пример. Создайте окно сообщения с ответами «да» или «нет».

Предположим, у нас есть следующие два значения в ячейках A1 и B1 нашего листа Excel:

Допустим, мы хотим создать макрос, который отображает пользователю окно сообщения и спрашивает, хотят ли они умножить значения в ячейках A1 и B1.

Для этого мы можем создать следующий макрос:

 Sub MsgBoxYesNo()

    'ask user if they want to multiply two cells
    UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)

    'perform action based on user response
    If UserResponse = vbYes Then
      Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
    Else
      MsgBox “ No Multiplication was PerformedEnd If

End Sub

Когда мы запускаем этот макрос, появляется следующее окно сообщения:

VBA msgbox да или нет

Если мы нажмем Да , то макрос перемножит значения в ячейках A1 и B2 и отобразит результат в ячейке C1:

Однако, если мы нажмем «Нет» , появится новое окно сообщения:

В окне сообщения сообщается, что умножение не выполнялось, поскольку мы нажали «Нет» в предыдущем окне сообщения.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

VBA: как добавить новую строку в окно сообщения
VBA: как добавить новые листы
VBA: как заморозить панели

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *