Добавить "Вы уверены?"на мою кнопку Excel, как я могу? - PullRequest
19 голосов
/ 20 декабря 2011

В моей форме есть кнопка, которая очищает всю книгу на 8 листов.Я хочу иногда очищать это, но я бы не хотел делать это случайно.Я пытался найти его в Google, но каждый результат, который я обнаружил, предполагает, что я гораздо лучше понимаю VBA, чем я.Как сделать так, чтобы при нажатии кнопки всплыло диалоговое окно с надписью «Это все сотрет! Вы уверены?Спасибо.

Ответы [ 3 ]

61 голосов
/ 20 декабря 2011

В вашем существующем коде кнопки просто вставьте эту строку перед процедурой:

If MsgBox("This will erase everything! Are you sure?", vbYesNo) = vbNo Then Exit Sub

Это заставит его выйти, если пользователь нажмет нет.

9 голосов
/ 20 декабря 2011

Создайте новую подпрограмму со следующим кодом и назначьте ее для своей кнопки.Измените «DeleteProcess» на имя вашего кода, чтобы сделать удаление.Появится окно с OK или Отмена и вызовет вашу подпрограмму удаления, если вы нажмете ОК, а не если вы нажмете кнопку Отмена.

Sub AreYouSure()

Dim Sure As Integer

Sure = MsgBox("Are you sure?", vbOKCancel)
If Sure = 1 Then Call DeleteProcess

End Sub

Джесси

0 голосов
/ 20 декабря 2011

Просто создайте пользовательскую форму, которая будет отображаться при нажатии кнопки «удалить», а затем свяжите кнопку продолжения с реальным кодом, который выполняет удаление.Сделайте кнопку отмены скрыть форму пользователя.

...