Anzeige
Archiv - Navigation
1212to1216
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Textbox auf Eingabe Prüfen
Volker
Hallo zusammen,
ich versuche mittels nachstehendem Code die Daten an eine Tabelle zu übergeben.
Die Textboxen werden über eine Listbox dblClick in die Textboxen übernommen. Hier werden sie bearbeitet
und zurückgeschrieben.
Was mir probleme macht ist Cdate. In der Tabelle kommt nur Text an. Auch dann wenn in der Userform-textbox händisch ein Datum eingegeben wird es bleibt beim Text.
Hat da jemand eine Idee?
Zweite Frage:
Es kann sein das nach der Bearbeitung der Textboxinhalte ein Feld in dem ein Datum eingetragen werden müsste leer bleibt. Wenn ich die Daten an die Tabelle zurückgeben will. Schickt Excel mir eine Fehlermeldung.
Wie kann ich Excel vorher sagen das wenn die betreffende Textbox leer ist die Zielzelle auch leer sein soll?
Hier der Code:
Private Sub CommandButton3_Click()
Dim rng As Range
Set rng = Sheets("Mitarbeiterliste").Range("B:B").Find(What:=TextBox2.Text, Lookat:=xlWhole,  _
LookIn:=xlValues)
If Not rng Is Nothing Then
Sheets("Mitarbeiterliste").Select
rng.Select
ActiveCell.Offset(0, -1) = TextBox1.value                     'Personalnummer
ActiveCell.Offset(0, 1) = TextBox3.value                        'Vorname
ActiveCell.Offset(0, 2) = Format(CDate(TextBox8.Value), "dd.mm.yyyy")  'FE gültig bis
ActiveCell.Offset(0, 5) = TextBox9.value                       'Modul 1
ActiveCell.Offset(0, 6) = TextBox10.value                     'Modul 2
ActiveCell.Offset(0, 7) = TextBox11.value                     'Modul 3
ActiveCell.Offset(0, 8) = TextBox12.value                     'Modul 4
ActiveCell.Offset(0, 9) = TextBox33.value                     'Modul 5
ActiveCell.Offset(0, 10) = TextBox4 .value                    'Straße
ActiveCell.Offset(0, 11) = TextBox5.value                     'PLZ
ActiveCell.Offset(0, 12) = TextBox6.value                     'Ort
ActiveCell.Offset(0, 14) = Format(CDate(TextBox13).value, "dd.mm.yyyy")
Cells(1, 1).Select
Unload UserForm2
End If
End Sub

Danke fürs lesen
Gruss Volker

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Textbox auf Eingabe Prüfen
30.04.2011 18:14:50
Hajo_Zi
Halo Volker,
das ist doch auch klar das sagt doch schon der Name. Eine Textbox enthält nur Text.
Benutze Cdate(Textbox1)

AW: Textbox auf Eingabe Prüfen
30.04.2011 18:19:43
Volker
Hallo Hajo,
Danke für Deine Antwort,
wenn Du mal unten im Code schauen würdest ob da noch ein Fehler in der dritten Zeile ist es müsste doch so
funktionieren, oder?
Gruß
Volker
AW: Textbox auf Eingabe Prüfen
30.04.2011 18:33:27
Hajo_Zi
Hallo Volger,
mit Format schreibst Du wieder Text in die Zelle.
Gruß Hajo
Anzeige
AW: Textbox auf Eingabe Prüfen
30.04.2011 18:17:48
fcs
Hallo Volker,
führe eine entsprechende Prüfung des Textbox-Wertes durch und steuere danach was mit der auszufüllenden Zelle passieren soll.
Auf die Zahl/Datums-Formatierung der Zelle im Code kannst du verzichten, wenn im Tabellenblatt die gesamte Spalte als Datum formatiert ist.
Gruß
Franz
Beispiel-Code:
  With ActiveCell.Offset(0, 2)
If TextBox8.Value = "" Then
.ClearContents
ElseIf IsDate(TextBox8.Value) Then
.Value = CDate(TextBox8.Value) 'FE gültig bis
.NumberFormat = "DD.MM.YYYY"
Else
.Value = TextBox8.Value
End If
End With

Anzeige
AW: Textbox auf Eingabe Prüfen
30.04.2011 18:43:18
Volker
Hallo Franz, Danke für die Antwort, es funktioniert.
Gruß
Volker
AW: Textbox auf Eingabe Prüfen
30.04.2011 18:44:33
Hajo_Zi
Hallo Volker,
warum noch offen?
Gruß Hajo

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige