Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1764to1768
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
Inhaltsverzeichnis

CDate leer --> Laufzeitfehler 13

CDate leer --> Laufzeitfehler 13
20.06.2020 20:53:41
MarC
Hallo,
ich habe Textboxen in denen man ein Datum eingeben kann. Das Datum wird dann in eine Zelle übertragen. Wenn die Textbox leer ist erhalte ich den Laufzeitfehler 13. Meine Lösung:
.Cells(LastRow, 26).Value = CDate(TextB2.Value)
Else
.Cells(LastRow, 26).Value = ""
End If
Gibt es hierfür auch eine kürzere Lösung oder muss ich für alle 20 Textboxen eine If Abfrage?
Gruß Marc

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CDate leer --> Laufzeitfehler 13
20.06.2020 21:01:30
GerdL
Moin Marc!
If IsDate(TextBox2.Value) Then .Cells(LastRow, 26).Value = CDate(TextB2.Value)
Gruß Gerd
Danke Gerd =D
20.06.2020 21:20:35
MarC
Supi so ist es viel kürzer =)
AW: CDate leer --> Laufzeitfehler 13
21.06.2020 00:47:40
MarC
Gerd das geht doch nicht. Wenn ich ein Datum aus einer Zelle einlesen und dieses Datum lösche und dann speichere verändert sich der Zelleninhalt nicht sondern das alte Datum bleibt bestehen bis ich ein neues eingebe.
Dann ist mir noch was aufgefallen und zwar verursacht ein falsches Datum und ein Datum das vor dem 01.01.1900 ist einen Fehler. Wieso ist das so? Kann man anstatt eine Fehlermeldung eine MSG ausgeben das den user darauf hinweist das Datum zu überprüfen?
If TextB1.Value  "" And TextB1.TextLength = 10 Then
.Cells(ZeileEdit, 21).Value = CDate(TextB1.Value)
Else
.Cells(ZeileEdit, 21).Value = ""
End If

Anzeige
AW: CDate leer --> Laufzeitfehler 13
21.06.2020 08:16:08
Hajo_Zi
If TextB1.Value "" And TextB1.TextLength = 10 an IsDate(TextB1) Then
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: CDate leer --> Laufzeitfehler 13
21.06.2020 08:25:27
Luschi
Hallo Marc,
Du verschluckts: If IsDate(TextBox2.Value) Then ….
Das ist die Prüfung, ob in der TextBox überhaupt ein Inhalt steht, den man als Datum interpretieren kann.
Dann und NUR dann wird im Code von Gerd der Zellwert ersetzt mit dem Datum von der TextBox:
.Cells(LastRow, 26).Value = CDate(TextB2.Value)
Gruß von Luschi
aus klein-Paris
PS: diese Prüfung: ... And TextB1.TextLength = 10 kann entfallen, denn 'Blumenvase' würde diese Bedingunmg erfüllen, ist aber garantiert kein Datum.
AW: CDate leer --> Laufzeitfehler 13
21.06.2020 11:47:47
MarC
Morgen Hajo und Luschi,
ich habe eine Beispieldatei hochgeladen. Die Textbox um die es geht ist auf 10 Stellen begrenzt und es können nur Zahlen bzw. ein Datum eingegeben werden. Das IsDate den TB Inhalt überprüft habe ich verstanden. Ich habe ursprünglich nach einer kürzeren Schreibweise gefragt. Die von Gerd ist kürzer aber ich kann sie doch nicht verwenden. Wenn ich ein bestehendes Datum löschen möchte weil es falsch ist kann ich das zwar machen aber der Inhalt LEER wird nicht übernommen und das alte Datum bleibt somit bestehen.
Meine zweite Frage ist mir gestern beim Testen aufgefallen. Wenn ich das Datum 11.11.1111 eingebe kommt eine Fehlermeldung. Meine Frage war "kann man anstatt einer Fehlermeldung die andere user nicht verstehen würden durch eine MSG ersetzen z.B. Überprüfen sie das Datum"?
https://www.herber.de/bbs/user/138459.xlsm
Anzeige
AW: CDate leer --> Laufzeitfehler 13
21.06.2020 18:02:19
Oberschlumpf
Hi Marc,
übernimm für deinen Speichern-Button diesen Code:
Private Sub cmb_Speichern_Click()
On Error GoTo fehler
Application.ScreenUpdating = False
With Sheets("Test")
LastRow = .Cells(Rows.Count, 2).End(xlUp).Row + 1
If LastRow 
Ach ja, in dem Edit-Userform solltest du für den Speichern-Button nicht deb gleichen Control-Namen verwenden. Bei sehr viel Code könnte man damit schon mal durcheinander kommen. Besser wäre vielleicht cmd_Edit
Nur ne Idee.
Hilfts denn, mein Code?
Ciao
Thorsten
Danke ^^
21.06.2020 18:32:59
MarC
Super danke Schlumpf, genau nach so was habe ich gesucht =) Ach ja und danke für den Hinweis. Ich habe das Userform einfach nur kopiert und nicht dran gedacht die Buttons anders zu benennen.
Die Zeile verwende ich nicht mehr weil eine Leere Textbox das Ergebnis in der Zelle nicht ändert.
If IsDate(TextB1.Value) Then .Cells(LastRow, 3).Value = CDate(TextB1.Value)
Das hier macht es auch. Danke euch allen für die Hilfe.
If TextB1.Value  "" And TextB1.TextLength = 10 Then
.Cells(ZeileEdit, 21).Value = CDate(TextB1.Value)
Else
.Cells(ZeileEdit, 21).Value = ""
End If

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige