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.

Якщо користувач клацне «Ні», з’явиться нове вікно повідомлення про те, що множення не виконано.

Зауважте, що оператор vbYesNo вставляє кнопки «Так» і «Ні», які користувач може натиснути.

Наступні приклади показують, як використовувати цей синтаксис на практиці.

Приклад: створіть вікно повідомлення з відповідями «Так/Ні».

Припустимо, що ми маємо наступні два значення в комірках 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: Як заморозити панелі

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *