【发布时间】:2012-01-24 01:24:52
【问题描述】:
我的表单上有一个按钮,可以清除整个 8 张工作簿。我确实想偶尔清除它,但我不想意外地这样做。我试过用谷歌搜索它,但我发现的每一个结果都假设我对 VBA 的掌握比我更牢固。我怎样才能做到这一点,当单击按钮时会弹出一个对话框说“这将删除所有内容!你确定吗?[继续] [取消]”? 谢谢。
【问题讨论】:
我的表单上有一个按钮,可以清除整个 8 张工作簿。我确实想偶尔清除它,但我不想意外地这样做。我试过用谷歌搜索它,但我发现的每一个结果都假设我对 VBA 的掌握比我更牢固。我怎样才能做到这一点,当单击按钮时会弹出一个对话框说“这将删除所有内容!你确定吗?[继续] [取消]”? 谢谢。
【问题讨论】:
只需制作一个自定义用户表单,在按下“删除”按钮时显示,然后将继续按钮链接到执行删除的实际代码。使取消按钮隐藏用户窗体。
【讨论】:
使用以下代码创建一个新子并将其分配给您的按钮。将“DeleteProcess”更改为您的代码名称以进行删除。这将弹出一个带有 OK 或 Cancel 的框,如果您点击 OK 将调用您的删除子,如果您点击取消则不会。
Sub AreYouSure()
Dim Sure As Integer
Sure = MsgBox("Are you sure?", vbOKCancel)
If Sure = 1 Then Call DeleteProcess
End Sub
杰西
【讨论】:
在您现有的按钮代码上,只需在程序之前插入这一行:
If MsgBox("This will erase everything! Are you sure?", vbYesNo) = vbNo Then Exit Sub
如果用户按否,这将强制它退出。
【讨论】:
If MsgBox("This will erase everything, are you sure?", vbOKCancel) = vbOK Then 会更接近,因为他要求Continue 和Cancel 按钮。
... = vbCancel Then...。尽管如此,+1 因为一点 If/Then 逻辑并没有超出我的范围。 (: