Выбор «Нет» приводит меня к неправильному следующему вводу msgbox - PullRequest
0 голосов
/ 23 апреля 2020
If vbYes = MsgBox("Do you have Federal Employee Health Benefits (FEHBB), such as Blue Cross Blue Shield?", vbYesNo + vbQuestion) Then
End If
If vbYes = MsgBox("Would you like to terminate/suspend your Federal Employee Health Benefits (FEHB) while on orders?", vbYesNo + vbQuestion) Then
    FEHBCancel = InputBox("Please initial here to cancel/suspend your FEHB.")
Else
NoFEHB = InputBox("Please initial here indicating that you do not have Federal Employee Health Benefits.")
End If

Выше, кажется, пробежал, но проблема, с которой я сталкиваюсь сейчас, заключается в том, что когда я спрашиваю первое сообщение «У вас есть FEHB ...», если я выбираю «Нет», я хочу, чтобы оно продолжалось. на новый msgbox "пожалуйста, начните здесь, указывая, что у вас нет ...". Если ответ «ДА», то я бы хотел, чтобы go для msgbox «Вы хотите прекратить», еще один Да / Нет, msgbox. И оттуда, потенциально, другое поле, если они выбирают «нет», они не хотят завершать.

1 Ответ

0 голосов
/ 23 апреля 2020

Ниже приведен код VBA, который показывает, как это должно быть сделано. При выполнении подобных операций часто бывает полезно нарисовать на листе бумаги процесс логики c, а при кодировании операторов If всегда делать отступы для каждого вложенного уровня, чтобы обеспечить удобочитаемость.

Sub sMsg()
    Dim strTerminate As String, strPayFor As String, strNoFEHBB As String
    If vbYes = MsgBox("Do you have FEHBB?", vbYesNo) Then
        If vbYes = MsgBox("Do you want to terminate", vbYesNo) Then
            strTerminate=InputBox("Please initial to terminate")        
        Else    '   No they don't want to terminate
            strPayFor=InputBox("Please initial to pay")
        End If
    Else    ' do not have FEHBB
        strNoFEHBB = InputBox("Please initial here")
    End If
End Sub

С уважением,

...