为什么我在使用select case语句时遇到了其他错误,我该如何解决?

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

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 

我得到一个编译错误:否则与如果。 错误发生在以下提示中: 情况1'下面的消息只显示当您在活动工作表上。 MsgBox“你已经在OVR办公室目录!”,vbInformation,“推荐工作簿 – 数据input” 其他人。 是否有可能做我想做的,我错过了什么。 我有一个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 Else变更为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