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 中执行其他常见任务:

VBA:如何计算工作簿中的工作表数量
VBA:如何从另一个工作簿中提取数据
VBA:如何插入多行

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注