为什么我在使用选择案例语句时收到 else 错误以及如何修复它?



我修改了用于调用多个工作表的代码,&我想用它来调用网址。

Sub OVR_Office_Listing()
Dim i As String
'MsgBox prompt:="1st 6 Months of Reports?", Title:="Referral Workbook - Data Entry"
i = MsgBox("Continue to OVR Office Directory?", vbYesNo, " Referral Workbook - Data Entry")
If Not i = vbYes Then Exit Sub
'First message shows in the body of the box, message 2 shows at the top of the box.
Do
MyValue = Application.InputBox("Only Click Ok or Cancel after your Selection!!!!!!!" & vbCrLf & _
"1 = OVR Office Directory" & vbCrLf & _
"2 = BBVS (Bureau of Blindness & Visual Services)Office Directory", "Walk In Training Data Entry")
' Sub messaage box exit.
If MyValue = False Then
Exit Sub
ElseIf (MyValue = 1) Or (MyValue = 2) Then
Exit Do
Else
MsgBox "You have not made a valid entry.  Please try again.", vbInformation, "Referral Workbook - Data Entry"
End If
Loop    'Code to Execute When Condition = value_1
Select Case MyValue
Case 1
' The message below only shows when you are on the active sheet.
MsgBox "You are already on OVR Office Directory!", vbInformation, "Referral Workbook - Data Entry"
Else
Dim ie As Object
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie.NAVIGATE "http://www.dli.pa.gov/Individuals/Disability-Services/bbvs/Pages/BBVS-Office-Directory.aspx"
ie.Visible = True
End Select
End If
'Code to Execute When Condition = value_2
Case 2
' The message below only shows when you are on the active sheet.
MsgBox "You are already on Bureau of Blindness & Visual Services Office Directory!", vbInformation, "Referral Workbook - Data Entry"
Else
Dim ie As Object
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie.NAVIGATE "http://www.dli.pa.gov/individuals/disability-services/ovr/pages/OVR-office-directory.aspx"
ie.Visible = True
End Select
End If
End Select
End Sub

我得到一个编译错误:Else with out if。错误发生在以下应用程序中:案例1'只有当您在活动工作表上时,才会显示下面的消息。MsgBox"您已在OVR Office目录中!",vbInformation,"推荐工作簿-数据输入">其他其他。有可能做我正在尝试的事情吗?我错过了什么。我确实有一个Select Case MyValue,但它似乎不够或位于错误的位置。请告诉我我做错了什么。

问题已解决。

`Sub OVR_Office_Listing()
Dim i As String
'MsgBox prompt:="1st 6 Months of Reports?", Title:="Referral Workbook - Data  Entry"
i = MsgBox("Continue to OVR Directories?", vbYesNo, " Referral Workbook - Data Entry")
If Not i = vbYes Then Exit Sub
'First message shows in the body of the box, message 2 shows at the top of the box.
Do
MyValue = Application.InputBox("Only Click Ok or Cancel after your  Selection!!!!!!!" & vbCrLf & _
"1 = OVR Office Directory" & vbCrLf & _
"2 = BBVS (Bureau of Blindness & Visual Services)    Office Directory", "Walk In Training Data Entry")
'Sub messaage box exit.
If MyValue = False Then
Exit Sub
ElseIf (MyValue = 1) Or (MyValue = 2) Then
Exit Do
Else
MsgBox "You have not made a valid entry.  Please try again.",  vbInformation, "Referral Workbook - Data Entry"
End If
Loop
'Code to Execute When Condition = value_1
Select Case MyValue
Case 1
'Message prior to calling the webb address.
MsgBox "Please wait, while get you the OVR web address.", vbInformation, "Referral Workbook - Data Entry"
Dim ie As Object
Set ie1 = CreateObject("INTERNETEXPLORER.APPLICATION")
ie1.NAVIGATE "http://www.dli.pa.gov/individuals/disability- services/ovr/pages/OVR-office-directory.aspx"
ie1.Visible = True
'Code to Execute When Condition = value_2
Select Case MyValue
End Select
Case 2
'Message prior to calling the webb address.
MsgBox "Please wait, while I get you the Bureau of Blindness & Visual Services Office Directory!", vbInformation, "Referral Workbook - Data Entry"
'Else
Dim ie2 As Object
Set ie2 = CreateObject("INTERNETEXPLORER.APPLICATION")
ie2.NAVIGATE "http://www.dli.pa.gov/Individuals/Disability-Services/bbvs/Pages/BBVS-Office-Directory.aspx"
ie2.Visible = True
End Select
End Sub`

Else更改为Case ElseElse本身需要一个匹配的If语句。

尝试使用以下代码。

Sub OVR_Office_Listing()
Dim i As String
'MsgBox prompt:="1st 6 Months of Reports?", Title:="Referral Workbook - Data Entry"
i = MsgBox("Continue to OVR Office Directory?", vbYesNo, " Referral Workbook - Data Entry")
If Not i = vbYes Then Exit Sub
'First message shows in the body of the box, message 2 shows at the top of the box.
Do
MyValue = Application.InputBox("Only Click Ok or Cancel after your Selection!!!!!!!" & vbCrLf & _
"1 = OVR Office Directory" & vbCrLf & _
"2 = BBVS (Bureau of Blindness & Visual Services)Office Directory", "Walk In Training Data Entry")
' Sub messaage box exit.
If MyValue = False Then
Exit Sub
ElseIf (MyValue = 1) Or (MyValue = 2) Then
Exit Do
Else
MsgBox "You have not made a valid entry.  Please try again.", vbInformation, "Referral Workbook - Data Entry"
End If
Loop    'Code to Execute When Condition = value_1
Select Case MyValue
Case 1
' The message below only shows when you are on the active sheet.
MsgBox "You are already on OVR Office Directory!", vbInformation, "Referral Workbook - Data Entry"
Case 2
Dim ie As Object
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie.NAVIGATE "http://www.dli.pa.gov/Individuals/Disability-Services/bbvs/Pages/BBVS-Office-Directory.aspx"
ie.Visible = True
'End Select
'End If
'Code to Execute When Condition = value_2
Case 3
' The message below only shows when you are on the active sheet.
MsgBox "You are already on Bureau of Blindness & Visual Services Office Directory!", vbInformation, "Referral Workbook - Data Entry"
'Else
Dim ie2 As Object
Set ie = CreateObject("INTERNETEXPLORER.APPLICATION")
ie2.NAVIGATE "http://www.dli.pa.gov/individuals/disability-services/ovr/pages/OVR-office-directory.aspx"
ie2.Visible = True
End Select

最新更新