Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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

Excel CDate Probleme mit Datumsformat

Excel CDate Probleme mit Datumsformat
30.01.2021 12:31:18
Ulli
Hallo,
ich habe folgendes Problem. Wir haben ein bereits fertiges Makro zur Verfügung, dass ein Datumsformat in Spalte I umwandeln soll.
Das Datum das wir bekommen hat folgendes amerikanisches Format MMM DD, YY z.B. Dec 15, 20
Das Datum das wir brauchen soll das gängige deutsche sein mit folgendem Format DD.MM.YY z.B. 15.12.20
Die ursprüngliche Funktion im Makro enthält CDate - wenn man diese startet erhält man den Laufzeitfehler 13: Typen unverträglich. Man kann das Datum durch suchen und ersetzen ändern zu Dez 15, 20 dann funktioniert es wieder. Wie können wir unser Makro am besten anpassen?
Vielen Dank
Ulli

Sub Test ()
Dim a As String
Dim ptr As Long
ptr = 1
a = "start"
While a  ""
a = Sheets("Eingabe").Range("I" & ptr)
If a = "" Then
Else
a = CDate(a)
End If
Sheets("Eingabe").Range("I" & ptr) = a
ptr = ptr + 1
Wend
End Sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel CDate Probleme mit Datumsformat
30.01.2021 12:55:16
Oberschlumpf
Hi Ulli,
aufgrund des Laufzeitfehler 13 ist die Datumszelle nicht mit MMM DD, YY formatiert, sondern es steht tatsächlich der Wert "Dec 15, 20" in der Zelle - und somit "nur" Text; da hilft CDate nicht.
Du musst immer die ersten 3 Zeichen (=Monat) auslesen + anpassen: aus "Dec 15, 20" muss "12 15, 20" werden.
Jetzt das Komma entfernen: aus "12 15, 20" muss "12 15 20" werden.
Jetzt Monat + Tag miteinander tauschen: aus "12 15 20" muss "15 12 20" werden
Jetzt die Leerzeichen mit Punkten ersetzen: aus "15 12 20" muss "15.12.20"
Und nun den falschen Zellwert mit CDate("15.12.20") ersetzen.

If a  "" Then
Select Case Left(a, 3)
Case "Jan"
a = Replace(a, "Jan", "01")
Case "Feb"
a = Replace(a, "Feb", "02")
Case "Mar"
a = Replace(a, "Mar", "03")
Case "Apr"
a = Replace(a, "Apr", "04")
Case "May"
a = Replace(a, "May", "05")
Case "Jun"
a = Replace(a, "Jun", "06")
Case "Jul"
a = Replace(a, "Jul", "07")
Case "Aug"
a = Replace(a, "Aug", "08")
Case "Sep"
a = Replace(a, "Sep", "09")
Case "Oct"
a = Replace(a, "Oct", "10")
Case "Nov"
a = Replace(a, "Nov", "11")
Case "Dec"
a = Replace(a, "Dec", "12")
End Select
a = Replace(a, ",", "")
a = Mid(a, 4, 2) & "." & Left(a, 2) & "." & Right(a, 2)
Sheets("Eingabe").Range("I" & ptr) = CDate(a)
End If

Das Ganze geht bestimmt auch kürzer. Ich hab den Code jetzt einfach so aufgeschrieben - ungetestet, ohne Bsp-Datei.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Excel CDate Probleme mit Datumsformat
30.01.2021 13:24:53
Ulli
Hallo,
ich habe das Makro dementsprechend geändert - leider mit dem gleichen Ergebnis: Laufzeitfehler 13: Typen unverträglich.
Es würde theoretisch doch reichen "Dec" gegen "Dez" zu ändern oder?
Danke für die Hilfe
AW: Excel CDate Probleme mit Datumsformat
31.01.2021 07:51:12
Ulli
Danke für den Tipp - ich habe es noch ein wenig angepasst jetzt klappt es mit dem Replace.
AW: Excel CDate Probleme mit Datumsformat
30.01.2021 13:06:10
Daniel
Hi
Das Problem ist, das CDate immer mit der Ländereinstellung arbeitet und daher die deutsche Schreibweise benötigt.
Probier mal, ob die Umwandlung klappt wenn du die Menüfunktion Daten - Datentools - Text in Spalten auf die Spalte I anwendest und im Schritt 3 als Format "Datum MTJ" angibst.
Bei der manuellen Ausführung wird es zunächst nur teilweise funktionieren weil Excel dann die deutschen Monatsnamen verwendet, aber wenn du das per Makro ausführst, werden die englischen Monatsnamen verwendet, dann sollte es durchgängig funktionieren.
Dann hast du echte Datumswerte in der Tabelle, die du beliebig formatieren kannst.
Gruß Daniel
Anzeige
AW: Excel CDate Probleme mit Datumsformat
30.01.2021 13:29:51
Ulli
Hallo,
da habe ich schneller alles mit Suchen und Ersetzen geändert. Ich würde gerne das Makro anpassen, damit das für alle gleich funktioniert und man keine manuellen schritte mehr ausführen muss.
Danke und LG
Ulli
AW: Excel CDate Probleme mit Datumsformat
30.01.2021 13:40:52
Daniel
Wenn es funktioniert, ist Text in Spalten als Makro ausgeführt das schnellste, um diese Aufgabe zu erledigen.
AW: Excel CDate Probleme mit Datumsformat
30.01.2021 14:11:50
Oberschlumpf
Hi
man, man...hör auf zu Jammern "da habe ich schneller alles mit Suchen und Ersetzen geändert..."
Du musst uns nich per Upload ne Bsp-Datei zeigen mit Bsp-Daten, aber es könnte allen besser helfen, wenn du mehr beitragen würdest als nur Jammern.
Ciao
Anzeige
AW: Excel CDate Probleme mit Datumsformat
30.01.2021 15:14:06
Ulli
Hallo,
Entschuldigung ich wollte nicht jammern sondern nur meinen Kollegen und mir die Arbeit erleichtern und vor allem Fehler vermeiden. Bei über 1000 Datensätzen am Tag können nämlich auch mit simplen Schritten Fehler passieren.
Die Beispieldatei habe ich hochgeladen - Es geht um das Makro Datenbearbeitung_3
https://www.herber.de/bbs/user/143454.xlsm

Folgender Fehler: solange das Datum in Monaten liegt die in deutsch gleich abgekürzt werden wie in Amerika z.B. Apr oder Jun klappt das Makro problemlos. Wenn es im May oder Dec liegt dann kommt der Makrofehler. Aktueller Lösungsansatz ist "Suchen und Ersetzen" und dann einfach Dec gegen Dez ändern --> dann geht es wieder.
Kann man klug ein Replace mit in dieses Makro einbauen?
Falls das zu viel Aufwand ist bleiben wir bei Suchen und Ersetzen, aber ich wollte es gerne schöner lösen.
Anzeige
AW: Excel CDate Probleme mit Datumsformat
31.01.2021 11:20:12
hary
Moin
Probier es mal so:

Sub wandeln()
Dim strMonat As String
Dim i As Long
For i = 1 To Cells(Rows.Count, 9).End(xlUp).Row
With Cells(i, 9) '---Daten in SpalteI
strMonat = "." & Replace(Replace(Replace(Replace(Left(.Value, 3), "ar", "rz"), "y", "i"), " _
ct", "kt"), "ec", "ez")
.NumberFormat = "dd.mm.yy"
.Value = CDate(Mid(.Value, 5, 2) & strMonat & "." & Right(.Value, 2))
End With
Next
End Sub

gruss hary
Anzeige
AW: Excel CDate Probleme mit Datumsformat
31.01.2021 11:27:59
Ulli
Vielen Dank -werde es gleich probieren

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige