ActiveSheet.Delete 没有显示提示(应该显示的时候)
ActiveSheet.Delete not showing prompt (when it should)
晚上好,我有一个加载项,其中包含一个非常简单的 Sub 程序来删除活动 sheet。为了便于使用,我在加载项的 Workbook_Open 调用中通过 Application.OnKey 将 Sub 绑定到组合键。
代码见下文。尽管使用了 Application.DisplayAlerts = True,但实际代码执行会删除 sheet 而没有 提示。不过因为是keybind,所以想强制提示,避免误删
怎么回事?
Public Sub DeleteActiveSheet()
Application.DisplayAlerts = True
If ActiveWorkbook.Sheets.Count = 1 Then
MsgBox "You cannot delete the only sheet in a workbook."
Exit Sub
End If
ActiveSheet.Delete
End Sub
编辑:我应该提一下,单步执行代码会产生预期的行为,并在迄今为止完成的所有测试中显示提示。我被难住了。
我刚试了你的代码,出现了提示。这可能是您设置的问题。
我应该提到我将它绑定到 ctrl+g 并以这种方式执行代码。
事实证明:提示sheet删除只会在sheet.
中有任何数据时触发提示
在我的大多数测试中,我会添加一个 sheet 然后尝试立即删除它,即使我期望它也不会触发提示。
在 sheet 上有任何数据,然后激活键绑定会按预期产生提示。
晚上好,我有一个加载项,其中包含一个非常简单的 Sub 程序来删除活动 sheet。为了便于使用,我在加载项的 Workbook_Open 调用中通过 Application.OnKey 将 Sub 绑定到组合键。
代码见下文。尽管使用了 Application.DisplayAlerts = True,但实际代码执行会删除 sheet 而没有 提示。不过因为是keybind,所以想强制提示,避免误删
怎么回事?
Public Sub DeleteActiveSheet()
Application.DisplayAlerts = True
If ActiveWorkbook.Sheets.Count = 1 Then
MsgBox "You cannot delete the only sheet in a workbook."
Exit Sub
End If
ActiveSheet.Delete
End Sub
编辑:我应该提一下,单步执行代码会产生预期的行为,并在迄今为止完成的所有测试中显示提示。我被难住了。
我刚试了你的代码,出现了提示。这可能是您设置的问题。
我应该提到我将它绑定到 ctrl+g 并以这种方式执行代码。
事实证明:提示sheet删除只会在sheet.
中有任何数据时触发提示在我的大多数测试中,我会添加一个 sheet 然后尝试立即删除它,即使我期望它也不会触发提示。
在 sheet 上有任何数据,然后激活键绑定会按预期产生提示。