Bei folgender Herausforderung komme ich in meinem VBA-Code nicht mehr weiter.
Ausgangslage:
In UserForm1 werden Daten in TextBoxen und ComboBoxen etc. eingetragen.
Bei fehlerhaften oder fehlenden Eingaben kommt jeweils eine MsgBox
Nach dem die Daten eingetragen wurden, werden sie mittels "CommandButton" in ein Arbeitsblatt übertragen.
In TextBox3 wird ein Datum eingegeben.
Das Datum muss zwingend in der Zukunft liegen, also min. Heute +1.
Herausforderung:
Wenn das erfasste Datum die genannte Bedingung nicht erfüllt und der CommandButton zur Übertragung ins Arbeitsblatt gedrückt wird, erscheint zwar die Meldung, dass das Datum die Bedingung nicht erfüllt, die Inhalte werden jedoch trotzdem in das Arbeitsblatt kopiert.
--> Die Inhalte der UserForm sollen erst kopiert werden, sobald alle Bedingungen der einzelnen Steuerelemente erfüllt sind.
Wie kriege ich es hin, dass Excel nach erfolgter Überprüfung des Datums in einen Loop geht, sofern das Datum die Bedingungen (Format und Heute + 1) nicht erfüllt?
Hier mein Code:
Private Sub CommandButton1_Click()
Dim cell As Range
Dim a As Long
Dim lbMsg As Byte
Dim StartZeile As Long
Dim Ws As Worksheet
If TextBox1.Text = "" = True Then
lbMsg = MsgBox("Geben Sie den betroffenen ANU ein", vbExclamation, "fehlende Eingabe")
TextBox1.SetFocus
Exit Sub
End If
If TextBox5.Text = "" = True Then
lbMsg = MsgBox("Geben Sie einen Kunden- oder Projektname ein", vbExclamation, "fehlende _
Eingabe")
TextBox5.SetFocus
Exit Sub
End If
If TextBox3.Text = "" = True Then
lbMsg = MsgBox("Geben Sie den Liefertermin an", vbExclamation, "fehlende Eingabe")
TextBox3.SetFocus
Exit Sub
End If
If IsDate(Me.TextBox3.Value) Then
Me.TextBox3 = Format(Me.TextBox3.Value, "dd/mm/yyyy")
End If
If Not IsDate(Me.TextBox3.Value) Then
MsgBox "Bitte gültiges Datum eingeben (dd/mm/yyyy)", vbCritical
TextBox3.SetFocus
Exit Sub
End If
If CDate(Me.TextBox3.Value)
Danke und GrussMax