2011-12-20 38 views
17

我在窗体上有一个按钮,可清除整个8工作表。我确实希望偶尔清除它,但我不愿意偶然这样做。我尝试过使用Google搜索,但是我发现的每一个结果都假设我对VBA的掌握比我更强。我该如何做到这一点,当按钮被点击一个对话框弹出“这将消除一切!你确定吗?[继续] [取消]”? 谢谢。添加“你确定吗?”到我的excel按钮,我怎么能?

回答

53

在现有的按钮代码,只需在手术前插入此行:

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

这将迫使它如果用户按下退出没有。

+0

+1整理器与内置常量一起工作 – brettdj 2011-12-20 09:47:01

+0

+1同意@brettdj。通常使用常量来提高可读性和可维护性。 – 2011-12-20 19:09:06

+3

+1我喜欢这个答案,但严格来说,'如果MsgBox(“这会擦除所有东西,你确定吗?”,vbOKCancel)= vbOK然后'会越来越近,因为他要求'Continue'和'Cancel'按钮。 – JimmyPena 2011-12-20 21:05:03

0

只要按下“删除”按钮时显示的自定义用户窗体,然后将继续按钮链接到实际删除的代码。使取消按钮隐藏用户窗体。

9

用下面的代码创建一个新的子,并将其分配给你的按钮。将“DeleteProcess”更改为您的代码的名称以进行删除。这会弹出一个包含确定或取消的框,如果您点击确定,则会打电话给您的删除子,如果您点击取消则不会。

Sub AreYouSure() 

Dim Sure As Integer 

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

End Sub 

杰西

相关问题