Vba:如何在没有提示或警告的情况下删除工作表
当您使用VBA中的Delete方法删除工作簿中的特定工作表时,Excel会发出提示,询问您是否确定要删除该工作表。
但是,您可以在 VBA 中使用以下语法来删除工作表,而无需出现提示或警告框:
SubDeleteSheets ()
'turn off display alerts
Application.DisplayAlerts = False
'delete Sheet1
Sheets(" Sheet1 ").Delete
'turn back on display alerts
Application.DisplayAlerts = True
End Sub
这个特定的宏会删除名为Sheet1 的工作表,而不会出现任何提示或警告框。
Application.DisplayAlerts=False行告诉 VBA 关闭 Excel 中的所有显示警报。
然后我们使用Delete方法删除特定的工作表。
然后,我们使用Application.DisplayAlerts=True重新启用显示警报。
以下示例展示了如何在实践中使用此语法。
示例:使用VBA删除工作表而不提示或警告
假设我们有以下包含三个工作表的 Excel 工作簿:
现在假设我们要创建一个宏来删除名为Sheet1的工作表。
假设我们创建以下宏:
SubDeleteSheets ()
'delete Sheet1
Sheets(" Sheet1 ").Delete
End Sub
当我们运行此宏时,我们将收到一条消息,询问我们是否确定要删除此工作表:
但是,我们可以创建以下宏来删除Sheet1 ,而无需任何提示:
SubDeleteSheets ()
'turn off display alerts
Application.DisplayAlerts = False
'delete Sheet1
Sheets(" Sheet1 ").Delete
'turn back on display alerts
Application.DisplayAlerts = True
End Sub
当我们运行这个宏时,名为Sheet1的工作表会被自动删除,并且不会出现任何提示:
请注意,Sheet1 已被删除,而其他两张纸保持不变。
其他资源
以下教程说明如何在 VBA 中执行其他常见任务: