Почему я получаю ошибку else, когда я использую оператор case case и как его исправить?

63
4

Я модифицировал код, который я использую для вызова нескольких рабочих листов, и я хотел бы использовать его для вызова веб-адресов.

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 Directory!", VbInformation, "Referral Workbook - Data Entry" Else On else. Можно ли делать то, что я пытаюсь, и чего мне не хватает. У меня есть Select Case MyValue, и кажется, что этого недостаточно или в неправильном месте. Пожалуйста, скажите мне, что я делаю неправильно.

спросил(а) 2021-01-25T14:37:30+03:00 4 месяца, 4 недели назад
1
Решение
64

Проблемы решены.

      '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'

ответил(а) 2021-01-25T14:37:30+03:00 4 месяца, 4 недели назад
45

Изменить что Else для Case Else. Else сам по себе требует согласования оператора If.

ответил(а) 2021-01-25T14:37:30+03:00 4 месяца, 4 недели назад
45

попробуйте использовать ниже код.


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

ответил(а) 2021-01-25T14:37:30+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема