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 上有任何数据,然后激活键绑定会按预期产生提示。