Habe ein simples Problem bei If-Funktion in VBA

Reast_91

Grünschnabel
Hallo!

Ich besuche die HAK und habe nun angefangen mich mit Visual Basic auseinanderzusezten.
Folgendes Problem trat dabei auf:

Es handelt sich um ein Fahrtenbuch in Excel. Als erster erscheint eine InputBox in der folgendes steht: Wollen Sie das Fahrtenbuch starten?
Ich habe die Antwort "Ja" als 1 definiert,
und die Antwort "Nein" als 2 definiert.

Aber wenn ich weder 1 noch 2 eingebe dann soll solange eine InputBox erscheinen bis ich entweder 1 oder 2 eingegeben habe. Ich habe die Funktion unten kopiert:

If Not (b) = 1 Or 2 Then
Do
Eingabe = InputBox("Sie müssen entweder 1 oder 2 eingeben! 1 = Ja, 2 = Nein")
Loop Until Eingabe = 1 Or 2
End If

Diese Funktion funktioniert aber nicht!?

Vielen Dank im Voraus
mfg Reast_91
 
Zuletzt bearbeitet:
Hallo

Das mit Do Loop kannst Du Dir sparen.
Code:
Dim Eingabe As String

  Eingabe = InputBox("Sie müssen entweder 1 oder 2 eingeben! 1 = Ja, 2 = Nein")
  Select Case Eingabe
    Case "1"
      MsgBox "Sie haben 1 eingegeben."
    Case "2"
      MsgBox "Sie haben 2 eingegeben."
    Case Else
      MsgBox "Bitte geben Sie nur 1 oder 2 ein."
  End Select

Warum machst Du denn nicht eine MsgBox?
Beispiel:
Code:
  If MsgBox("Soll das Fahrtenbuch gestartet werden?", vbQuestion + vbYesNo) = vbYes Then
    MsgBox "Fahrtenbuch wird gestartet."
  Else
    MsgBox "Fahrtenbuch wird NICHT gestartet."
  End If
 
Danke hab es fast geschafft!

Nur schließt es mir die Excel Datei nicht. Ich habe wieder die geänderte Funktion kopiert:

Vorname = InputBox("Geben Sie bitte Ihren Vornamen ein")
Range("J5").Select
ActiveCell.FormulaR1C1 = Vorname

If MsgBox(Vorname & " soll das Fahrtenbuch gestartet werden?", vbQuestion + vbYesNo) = vbYes Then
MsgBox "Fahrtenbuch wird gestartet."
Else
MsgBox ("Auf wiedersehen " & Vorname & "!")
Application.Quit 'Es kommt die MsgBox("Auf wiedersehen...."), aber anschließend schließt es mir nicht das Excel Dokument?
End If

Danke im Voraus mfg
 
Zurück