HERBERS Excel-Forum - das Archiv

Thema: Textbox Inhalt prüfen und Code abbrechen

Textbox Inhalt prüfen und Code abbrechen
Nadine
Hallo,
ich stehe gerade total auf dem Schlauch. Ich habe eine Userform mit einer Combobox und 3 Textboxen, sowie eine Listbox, die mir die Daten anzeigt die in die Textboxen eingetragen werden. In dem Code frage ich erstmal nur den Inhalt der Textboxen ab.
Wenn eins von den Textboxen leer ist, soll der Code nicht weiter ausgeführt werden. Aktuell gibt er mir die MsgBox aus, aber er trägt die Daten, die bis dahin bereits eingetragen wurden in die Listbox ein. Somit habe ich dann unvollständige Datensätze.
Code steht in einem Modul:


Sub Daten_uebertragen_XY()

Dim sh As Worksheet
Dim neueZeile As Long

If UfÜbersicht.cmbAbteilung = "" Or UfÜbersicht.TxtAnzahl.Value = "" Or UfÜbersicht.TxtAnzahl2.Value = "" Or UfÜbersicht.TxtTage.Value = "" Then
msgfa = True

If msgfa = True Then
MsgBox "Bitte füllen Sie alle Felder aus.", vbExclamation + vbOKOnly, "Fehlende Angaben"
msgfa = False
End If
End If

Set sh = ThisWorkbook.Sheets("XY")

neueZeile = [Counta(XY!A:A)] + 9

With sh
.Cells(neueZeile, 1) = UfÜbersicht.cmbAbteilung
.Cells(neueZeile, 2) = UfÜbersicht.Lb_Text
.Cells(neueZeile, 3) = UfÜbersicht.TxtAnzahl.Value
.Cells(neueZeile, 4) = UfÜbersicht.TxtAnzahl2.Value
.Cells(neueZeile, 5) = UfÜbersicht.TxtTage.Value
.Cells(neueZeile, 6) = Format(UfÜbersicht.Tage, "00") & "." & Format(UfÜbersicht.Monat, "00") & "." & UfÜbersicht.Jahr
.Cells(neueZeile, 7) = [Text(Now(), "DD.MM.YYYY")]

End With

With UfÜbersicht

.TxtAnzahl.Value = ""
.TxtAnzahl2.Value = ""
.TxtTage.Value = ""

.cmbAbteilung.Clear

.cmbAbteilung.AddItem "Chef"
.cmbAbteilung.AddItem "Personal"

End With
End Sub
AW: Textbox Inhalt prüfen und Code abbrechen
Kuwer
Hallo Nadine,

Sub Daten_uebertragen_XY()

Dim sh As Worksheet
Dim neueZeile As Long

If UfÜbersicht.cmbAbteilung = "" Or UfÜbersicht.TxtAnzahl.Value = "" Or UfÜbersicht.TxtAnzahl2.Value = "" Or UfÜbersicht.TxtTage.Value = "" Then
MsgBox "Bitte füllen Sie alle Felder aus.", vbExclamation + vbOKOnly, "Fehlende Angaben"
Else
Set sh = ThisWorkbook.Sheets("XY")
neueZeile = [Counta(XY!A:A)] + 9

With sh
.Cells(neueZeile, 1) = UfÜbersicht.cmbAbteilung
.Cells(neueZeile, 2) = UfÜbersicht.Lb_Text
.Cells(neueZeile, 3) = UfÜbersicht.TxtAnzahl.Value
.Cells(neueZeile, 4) = UfÜbersicht.TxtAnzahl2.Value
.Cells(neueZeile, 5) = UfÜbersicht.TxtTage.Value
.Cells(neueZeile, 6) = Format(UfÜbersicht.Tage, "00") & "." & Format(UfÜbersicht.Monat, "00") & "." & UfÜbersicht.Jahr
.Cells(neueZeile, 7) = [Text(Now(), "DD.MM.YYYY")]
End With

With UfÜbersicht
.TxtAnzahl.Value = ""
.TxtAnzahl2.Value = ""
.TxtTage.Value = ""
.cmbAbteilung.Clear
.cmbAbteilung.AddItem "Chef"
.cmbAbteilung.AddItem "Personal"
End With
End If
End Sub


Gruß, Uwe
AW: Textbox Inhalt prüfen und Code abbrechen
Oberschlumpf
Hi Nadine,

änder diesen Code...


If UfÜbersicht.cmbAbteilung = "" Or UfÜbersicht.TxtAnzahl.Value = "" Or UfÜbersicht.TxtAnzahl2.Value = "" Or UfÜbersicht.TxtTage.Value = "" Then
msgfa = True

If msgfa = True Then
MsgBox "Bitte füllen Sie alle Felder aus.", vbExclamation + vbOKOnly, "Fehlende Angaben"
msgfa = False
End If
End If

...um in...


With UfÜbersicht
If .cmbAbteilung = "" Or .TxtAnzahl.Value = "" Or .TxtAnzahl2.Value = "" Or .TxtTage.Value = "" Then
MsgBox "Bitte füllen Sie alle Felder aus.", vbExclamation + vbOKOnly, "Fehlende Angaben"
Exit Sub
End If
End With

...hilfts?

Ciao
Thorsten
AW: Textbox Inhalt prüfen und Code abbrechen
Nadine
Hallo Kuwer & Oberschlumpf

es funktioniert einwandfrei. Tausend Dank für die super schnelle Hilfe für eine (sicherlich) total einfache Lösung.

LG
Nadine