如何通过vba在关闭Excel时弹出对话框?

如何通过vba实现以下功能:在关闭Excel时,如果Excel的第一行(样品批次)单元格不为空值,而第二行(样品数量)对应单元格为空值时,弹出对话框,请“关闭Excel前请输入xx批次样品数量”。

程序代码需要写在workbook里面,如下图:

代码文本为:


Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Dim arr, j%

    arr = Me.Sheets(1).UsedRange.Resize(2)

    For j = 1 To UBound(arr, 2)

        If arr(1, j) <> "" And arr(2, j) = "" Then

            Application.Goto Me.Sheets(1).Cells(2, j)

            MsgBox "关闭前请输入【" & arr(1, j) & "】批次的数量"

            Cancel = True

            Exit Sub

        End If

    Next j

End Sub

执行效果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-12
Application.DisplayAlerts = False
Application.DisplayAlerts = True
相似回答