You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA:点击关闭按钮(X)触发保存时,含错误工作簿阻止保存后仍关闭的问题求助

Excel VBA:点击关闭按钮(X)触发保存时,含错误工作簿阻止保存后仍关闭的问题求助

各位好,我正在写一个VBA宏,想实现阻止用户保存包含#VALUE!这类单元格错误的工作簿的功能,目前写了如下代码:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim rng As Range
Dim c As Range
Dim a As Variant

Set rng= ThisWorkbook.Sheets("Sheet1").Range("A1:C10")

For Each c In rng
    If IsError(c.Value) Then
        a = MsgBox(Prompt:="Check cells for #VALUE! and correct them before saving.", Title:="Check Cells")
        Cancel = True
        Exit For
    End If
Next

End Sub

这段代码在用户直接点击保存按钮时运行正常,但遇到一种场景就出问题了:当用户点击窗口右上角的「X」关闭工作簿,然后在弹出的对话框中选择「保存」时,宏确实会触发并弹出提示框告知用户无法保存,但用户点击提示框的「确定」后,工作簿还是会继续执行关闭操作,这不是我想要的效果。

我期望的行为(假设工作表存在错误):

  • 用户点击「X」后选择「保存」:因工作簿存在错误,阻止保存操作,工作簿保持打开状态
  • 用户点击「X」后选择「不保存」:工作簿正常关闭

备注:内容来源于stack exchange,提问作者user3752138

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 13:17:36