Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1396to1400
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 Fehler

CDate Fehler
21.12.2014 16:34:23
Heinz
Hallo heute zum 3. mal im Forum
Bekomme einen Fehler bei
 If CDate(Ws.Cells(j, 1)) >= CDate(ComboBoxDatum_von.Text) And CDate(Ws.Cells(j, 1)) 
Wenn ich nur wüsste warum?
In einer UF werden Daten in Sheets eingetragen.
Habe auch eine Testdatei hochgeladen.
Hätte jemand eine Hilfestellung anzubieten?
Gruß,Heinz

'Hier werden die Werte eingetragen
Private Sub CommandButtonEintragen_Click()
Dim j As Integer
Dim lZeile As Integer
Dim Ws As Worksheet
'Fehler abfangen
If ComboBoxSAP = "" Then
MsgBox "Es wurde keine SAP Nummer eingegeben!"
Exit Sub
Else
End If
If ComboBoxLinie = "" Then
MsgBox "Sie haben keine Linie ausgewählt!"
Exit Sub
Else
End If
If TextBoxTage = "" Then
MsgBox "Es wurde keine Laufzeit in Tagen eingegeben!"
Exit Sub
Else
End If
If TextBoxEnde = "" Then
MsgBox "Sie haben nicht auf Berechnen gedrückt!"
Exit Sub
Else
End If
Set Ws = Sheets(ComboBoxLinie.Text)
lZeile = Ws.Cells(Rows.Count, 1).End(xlUp).Row
For j = 2 To lZeile
If CDate(Ws.Cells(j, 1)) >= CDate(ComboBoxDatum_von.Text) And CDate(Ws.Cells(j, 1))  "" Then
If MsgBox("Wollen Sie den Auftrag wirklich überschreiben.", vbYesNo + vbQuestion, "Ü _
berschreiben ?") = vbYes Then
Ws.Cells(j, 2) = ComboBoxSAP
Ws.Cells(j, 3) = TextBox7
Ws.Cells(j, 4) = TextBox6
End If
Else
Ws.Cells(j, 2) = ComboBoxSAP
Ws.Cells(j, 3) = TextBox7
Ws.Cells(j, 4) = TextBox6
End If
End If
Next j
'Unload Me
ComboBoxSAP = ""
ComboBoxLinie = ""
TextBoxTage = ""
TextBoxEnde = ""
TextBox6 = ""
TextBox7 = ""
End Sub
https://www.herber.de/bbs/user/94536.zip

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CDate Fehler
21.12.2014 17:01:39
Daniel
Hi
der Fehler tritt auf, wenn Ws.Cells(j, 1) leer ist, weil die Umwandlungsfunktionen CDate, CLng usw mit leeren Zellen nichts anfangen können und mit einem Fehler abbrechen.
bei dir enthält in allen Blättern die Zeile 61 kein Datum.
du müsstest hier dann die Abfrage: if Ws.Cells(j, 1) = "" vorschalten, um dann diese Abfrage auf das Datum und damit den Fehler zu umgehen.
Gruß Daniel

Daniel ist SUPER
21.12.2014 17:24:28
Heinz
Hey Daniel
Darauf wäre ich nie gekommen.
Recht herzlichen Dank.
Gruß Heinz

AW: Daniel ist SUPER
21.12.2014 17:34:12
Daniel
Da drauf zu kommen ist relativ einfach.
Wenn der Fehler auftritt, dann ist der Zeilenzähler j bei 61.
Das heißt in den 59 Zeilen vorher muss die Abfrage funktioniert haben.
Also muss man prüfen, worin sich die 61. Zeile auf dem Tabellenblatt von den davorliegenden Zeilen unterscheidet, und das ist dann mit hoher Wahrscheinlichkeit die Fehlerursache.
Die Textboxtexte scheiden als Ursache aus, denn die sind ja immer noch die selben.
Wären diese Fehlerverursachend, hätte es gleich schon beim ersten Schleifendurchlauf zu einem Fehler kommen müssen, ebenso wenn es ein grundsätlicher Programmierfehler wäre.
Gruß Daniel

Anzeige
AW: Daniel ist SUPER
21.12.2014 17:37:17
Heinz
Hallo Daniel
Danke für die Fachmänische Aufklärung.
Gruß Heinz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige