【发布时间】:2023-03-15 19:15:01
【问题描述】:
我一直在想如果有错误如何弹出消息框。我有下面的代码,但是如果有错误,这段代码不会跳转到错误处理程序并退出子。
Sub Validate_Region()
Dim str_DEPARTMENT_NAME As String
On Error GoTo Reion_Error
If Left(Range("M4"), 2) = "As" Then
str_DEPARTMENT_NAME = "India"
ElseIf Left(Range("M4"), 2) = "ME" Then
str_DEPARTMENT_NAME = "Middle East"
End If
'Get value of region selected in Master File
str_regionvalue = Workbooks("Master Report").Sheets("Home").Range("T8")
If str_regionvalue = str_DEPARTMENT_NAME Then
MsgBox ("You have selected " & str_regionvalue & " region"), vbInformation
End If
Exit Sub
Reion_Error:
MsgBox ("Please select the correct Region.") & vbNewLine & vbNewLine & ("You have selected " & str_regionvalue & " region" & " In Home Sheet of Master Report and pulled the data for " & str_DEPARTMENT_NAME & " region"), vbCritical
ActiveWorkbook.Close
End Sub
【问题讨论】:
-
您看到错误了吗?在哪一行?
-
嗨蒂姆,没有任何错误。如果有错误,它只会触发代码,但不会跳转到错误处理程序消息。
-
在 Vb 编辑器的工具 >> 选项下检查您的错误设置。确保它没有设置为“中断所有错误”
标签: excel error-handling vba