wörtzahlen fehler bei Ubertragen ins Tablle

valeripf

Erfahrenes Mitglied
Hi ich Habe Folgende Problem

wenn ich in UserForm TextBox jegend was schreibe igal 1 oder 2 wörte und OK drucken, dann schreibt er in die zeile "Kein Angabe"
Soll bei 2 Wörter Is Tabelle Übertragen
bei 1 Wört Soll ein MsgBox Aufgehen
Code:
 MsgBox "Bitte Vor- und Nachname eingeben!", vbOKOnly, "Fehler"

Wenn ich in die zeile nicht rein schreibe dann schreib er Richtig "Keine Angabe"

Bitte Helf Mir

Code:
Private Sub OKButton_Click()
    Dim lFreie As Long
    Dim Worte() As String

     If OriginalName.Value = "" Then
        MsgBox ("Bitte Original Name Eingeben")
        Exit Sub
    End If
    ------------- und so weiter------------------------

   With MyDatenBank.Worksheets("DatenBank")
        lFreie = .Cells(.Rows.Count, 6).End(xlUp).Row + 1
        If lFreie < 3 Then lFrei = 3
            .Range("F" & lFreie).Value = OriginalName.Value

         ----------Und So Weiter---------------------------------
          With ActiveSheet
            If Trim(TextBox1.Tag) = "" Then
                'Ausgabe in Spalte 16
                .Cells(lFreie, 16).Value = "Keine Angabe"
                    Else
                    'Erzeugen der Einträge im dynamischen Array "Worte"
                    Worte = Split(Trim(TextBox1.Value), " ")
                    'Überprüfen der Eintragsanzahl im dyn.Array
                    If UBound(Worte) <> 1 Then
                        MsgBox "Bitte Vor- und Nachname eingeben!", vbOKOnly, "Fehler"
                        Exit Sub
                    End If
                End If
            End With
        End With
End Sub

Private Sub TextBox1_Change()

End Sub
 
Mach dir das Leben doch nicht selber unnötig schwer.

Wenn du ein Textfeld nimmst in welches dann der Vor- und Nachname eingetragen werden muss, dann musst du auf ein bestimmtes Trennzeichen prüfen. Das Trennzeichen wird dann wohl ein Leerzeichen sein: "Peter Müller", "Martin Schmid", "Klaus Schulze"

Wenn ich nun aber zwei Vornamen habe und nur diese eingebe, dann ist auch ein Leerzeichen enthalten und die Prüfung würde klappen.

Erstelle einfach ein Textfeld für den Vornamen und ein zweites für den Nachnamen. Dann prüfst du einfach ob in beide Felder etwas eingegeben wurde und gut ist!
 
Wie gesagt, du machst dir meiner Meinung nach das Leben unnötig schwer. Aber wenn der Platz so knapp ist, dann kannst du es so lösen:

Visual Basic:
If InStr(1, Namen.Text, " ") Then
'Medung ausgeben
    MsgBox "Alles in Ordnung."
'Inhalt des Textfeldes Namen aufteilen
    name_array = Split(Namen.Text, " ")
'Arraywerte in entsprechendes Textfeld schreiben
    Vornamen.Text = Trim(name_array(0))
    Nachnamen.Text = Trim(name_array(1))
Else
    MsgBox "Bitte Vor- und Nachnamen getrennt durch Leerzeichen eingeben!"
End If

Im Beispiel gibt es ein Textfeld mit der Bezeichnung "Namen" hier wird die Eingabe gemacht. Wenn alles in Ordnung ist, wird eine Meldung ausgegeben und die einzelnen Angaben dann in das Texfeld "Vornamen" und "Nachnamen" eingetragen.
 
Zurück