Excel中删除一个工作表,但是我不需要对话框提示,怎么做?

来源:百度知道 编辑:UC知道 时间:2024/05/28 22:56:30
使用宏作以下操作

ActiveWindow.SelectedSheets.Delete

但是总是挑出一个对话框提示你是否删除,怎么做才能直接删除而不是调出对话框

谢谢

在删除工作表之前,增加一条语句:
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
执行完语句最后,再讲DisplayAlerts属值设置为True,这样后续手动删除时才能出现提示。

关于此例中用到的DisplayAlerts属性的相关知识:
DisplayAlerts:如果宏运行时 Microsoft Excel 显示特定的警告和消息,则该值为 True。Boolean 类型,可读写。

说明

默认值为 True。如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,请将本属性设置为 False;这样每次出现需用户应答的消息时,Microsoft Excel 将选择默认应答。

如果将该属性设置为 False,则在代码运行结束后,Micorosoft Excel 将该属性设置为 True,除非正运行交叉处理代码。

如果使用工作簿的 SaveAs 方法覆盖现有文件,“覆盖”警告默认为“No”,当 DisplayAlerts 属性值设置为 True 时,Excel
选择“Yes”。

示例:

本示例关闭工作簿 Book1.xls,但不提示用户保存所作更改。Book1.xls 中的所有更改都不会保存。
Application.DisplayAlerts = False
Workbooks("BOOK1.XLS").Close
Application.DisplayAlerts = True

录制的宏一般很不好用,
改成:
Application.DisplayAlerts = False
'取消显示警告
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
'显示警告,不然以后手工删除