我编写了下面的代码,以便它在关闭表单之前检查流程是否已完成。该用户表单用作记分表,在卸载表单之前,作为子项目的最后一步,绿色表示range("A6")通过,红色表示失败。range("B6")
从我目前在网上查到的情况来看,它应该有效。调试时,宏一直到达显示 Cancel = True 的位置,读取该行,但窗体仍会关闭。
为什么即使在读取线路时取消也没有注册?
Private Sub Userform_queryclose(CloseMode As Integer, Cancel As Integer)
Dim wbScoreCard As Workbook
Dim wsScoreCard As Worksheet
Dim MSG As String
Set wbScoreCard = Workbooks(NameBox.Value)
Set wsScoreCard = wbScoreCard.Worksheets(Format(Date, "MM.dd.yy") & " " & CallType.Caption)
If Err.Number = 0 Then
If wsScoreCard.Range("A6").Interior.Color <> vbGreen Then
If wsScoreCard.Range("B6").Interior.Color <> vbRed Then
Beep
MSG = MsgBox("This scorecard is not complete! If you close it now, this scorecard will not be saved. Continue?", vbYesNo, …Run Code Online (Sandbox Code Playgroud)