我遇到以下代码问题:
MsgBox
我想在以下问题的答案为NO
时从头开始重复MsgBox "Vous devez sélectionner une valeur égale à 1, 2 ou 3" & _
vbCrLf & vbCrLf & "Désirez-vous continuer ?", vbYesNo + vbExclamation, "Erreur"
:
DateTime
它说:
“没有做错误循环”
你能帮忙吗?
谢谢,
让
答案 0 :(得分:2)
你想要开始一个只有在条件满足后才会结束的循环。
尝试以下方法:
Sub Option_choice()
Dim Choice_box As String
Do
Choice_box = InputBox("Quel état souhaitez-vous restituer ?" & _
vbCrLf & "Entrez la valeur 1, 2 ou 3" & _
vbCrLf & vbCrLf & vbTab & "1 - Bilan" & _
vbCrLf & vbTab & "2 - Compte de résultat" & _
vbCrLf & vbTab & "3 - Hors bilan", vbQuestion, "Entrez la valeur 1, 2 ou 3")
Select Case Choice_box
Case "1"
MsgBox ("Bilan")
Exit Do
Case "2"
MsgBox ("Compte de résultat")
Exit Do
Case "3"
MsgBox ("Hors bilan")
Exit Do
Case Else
If MsgBox("Vous devez sélectionner une valeur égale à 1, 2 ou 3" & vbCrLf & vbCrLf & "Désirez-vous continuer ?", vbYesNo + vbExclamation, "Erreur") = vbYes Then
'Nothing, it will loop anyway
ElseIf vbNo Then
MsgBox "Fin de l'opération, aucun état n'a été généré", vbInformation, "Fin du programme"
Exit Sub
End If
End Select
Loop
End Sub
答案 1 :(得分:1)
感谢大家的帮助,这是我需要帮助的最终代码。
Sub Option_choice()
Dim Choice_box, File_Choice As String
Dim Rep_Choice As Integer
Do
Choice_box = InputBox("Quel état souhaitez-vous restituer ?" & _
vbCrLf & "Entrez la valeur 1, 2 ou 3" & _
vbCrLf & vbCrLf & vbTab & "1 - Bilan" & _
vbCrLf & vbTab & "2 - Compte de résultat" & _
vbCrLf & vbTab & "3 - Hors bilan", vbQuestion, "Entrez la valeur 1, 2 ou 3")
Select Case Choice_box
Case "" 'if cancelled
MsgBox "Fin de l'opération, aucun état n'a été généré", vbInformation, "Fin du programme"
Exit Sub
Case "1"
MsgBox ("Bilan")
File_Choice = "Bilan"
MsgBox ("Filechoice = " & File_Choice)
Exit Do
Case "2"
MsgBox ("Compte de résultat")
File_Choice = "Compte de résultat"
MsgBox ("Filechoice = " & File_Choice)
Exit Do
Case "3"
MsgBox ("Hors bilan")
File_Choice = "Hors bilan"
MsgBox ("Filechoice = " & File_Choice)
Exit Do
Case Else
Rep_Choice = MsgBox("Vous devez sélectionner une valeur égale à 1, 2 ou 3" & _
vbCrLf & "Désirez-vous continuer ?", vbYesNo + vbExclamation, "Erreur")
If Rep_Choice = vbNo Then
MsgBox "Fin de l'opération, aucun état n'a été généré", vbInformation, "Fin du programme"
Exit Do
Else
'loop
End If
End Select
Loop
End Sub
让
答案 2 :(得分:0)
Sub Option_choice()
Dim Choice_box As String
Dim MB_result As Integer
Do
Choice_box = InputBox("Quel état souhaitez-vous restituer ?" & _
vbCrLf & "Entrez la valeur 1, 2 ou 3" & _
vbCrLf & vbCrLf & vbTab & "1 - Bilan" & _
vbCrLf & vbTab & "2 - Compte de résultat" & _
vbCrLf & vbTab & "3 - Hors bilan", vbQuestion, "Entrez la valeur 1, 2 ou 3")
Select Case Choice_box
Case "1"
MsgBox ("Bilan")
Case "2"
MsgBox ("Compte de résultat")
Case "3"
MsgBox ("Hors bilan")
Case Else
MB_result = MsgBox("Vous devez sélectionner une valeur égale à 1, 2 ou 3" & _
vbCrLf & vbCrLf & "Désirez-vous continuer ?", vbYesNo + vbExclamation, "Erreur")
If MB_result = vbNo Then
MsgBox "Fin de l'opération, aucun état n'a été généré", vbInformation, "Fin du programme"
Exit Do
End If
End Select
Loop
End Sub