我正在使用类型为8的输入框(单元格引用/范围)。所选范围的部分验证是使用下面的MsgBox。
问题是当你选择一个错误的范围并且MsgBox提示你时,如果你点击Ok
它会在单元格中留下数字2,如果你点击Cancel
它会留下数字1在牢房里。
ElseIf myRange.Value = "" Or myRange.Value = 0 Then
'...
myRange = MsgBox("Please Select a Valid Code. Try again?", vbOKCancel + vbQuestion)
If myRange = vbCancel Then 'No retry
Exit Sub
Else 'retry
Run "MyCellToCorrect"
End If
Else
答案 0 :(得分:1)
您要将MsgBox
的返回值(vbOK
(1)或vbCancel
(2)分配给该范围。您应该将其分配给数字变量,然后测试该变量:
Dim Res As Integer
....
Res = MsgBox("Please Select a Valid Code. Try again?", vbOKCancel + vbQuestion)
If Res = vbCancel Then 'No retry
Exit Sub
Else 'retry
Run "MyCellToCorrect"
End If