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

CSV automatisch Verarbeiten Zeitangabe

CSV automatisch Verarbeiten Zeitangabe
12.01.2017 12:02:51
Lennart
Hallo zusammen,
ich versuche im Moment Messwerte aus einer .csv Datei automatisch in Excel zu verarbeiten. Hierbei habe ich das Problem, dass die Zeit in folgendem Format angegeben wird:
M/T/JJJJ h:m:ss AM/PM
Beispielsweise:
10/13/2016 12:00:00 AM
Ich habe es bisher nicht geschafft, dass Excel das automatisch erkennt.
Ich habe mir jetzt eine Schleife gebastelt, mit der der String des Eingabedatums zerlegt wird und danach so zusammengesetzt wird wie ich das möchte.
For i = 2 To Worksheets("Rawdata").Cells(Rows.Count, 1).End(xlUp).Row
Eingabe = Split(CStr(Worksheets("Rawdata").Cells(i, 1).Value))
Datum = Split(Eingabe(0), "/")
Zeit = Split(Eingabe(1), ":")
If Len(Datum(0)) < 2 Then Datum(0) = "0" + Datum(0)
If Len(Datum(1)) < 2 Then Datum(1) = "0" + Datum(1)
If Zeit(0) = "12" Then Zeit(0) = "00"
If Eingabe(2) = "PM" Then Zeit(0) = CStr(12 + CInt(Zeit(0)))
Worksheets("Rawdata").Cells(i, 1).NumberFormat = "dd.mm.yyyy hh:mm:ss"
Worksheets("Rawdata").Cells(i, 1) = CDate(Datum(1) & "." & Datum(0) & "." & Datum(2) & " " & Zeit(0) & ":" & Zeit(1) & ":" & Zeit(2))
Next i
Das Ergebnis hat dann die Form:
TT.MM.JJJJ hh:mm:ss
13.10.2016 00:00:00
Bei mehr als 30.000 Zeilen dauert die Durchführung ziemlich lange. Gibt es eine einfachere Methode?
Viele Grüße
Lennart

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

Betreff
Datum
Anwender
Anzeige
AW: CSV automatisch Verarbeiten Zeitangabe
12.01.2017 12:30:35
JoWE
Hallo Lennart,
Vielleicht in einer Hilfsspalte und ohne VBA so:
Der Zellwert="10/13/2016 12:00:00 AM" wird mit folgender Formel umgesetzt:
=DATUM(TEIL(A1;7;4);LINKS(A1;2);TEIL(A1;4;2)) + ZEIT(TEIL(A1;12;2);TEIL(A1;15;2);TEIL(A1;18;2))
mit diesem Zellformat: [$-409]T.M.JJ h:mm AM/PM;@
dieses Ergebnis: "13.10.16 12:00 PM"
Gruß
Jochen
AW: oder dann auch so...
12.01.2017 12:34:40
JoWE
...
Zellformat: [$-409]M/T/JJ h:mm AM/PM;@
ergibt dann Dein Wunschergebnis: "10/13/2016 12:00:00 AM"
Gruß
Jochen
AW: CSV automatisch Verarbeiten Zeitangabe
12.01.2017 12:35:59
Fennek
Hallo,
versuche der ganzen Spalte das Datumsformat auf einmal zuzuweisen.
Ungeprüft (deshalb als offen markiert)

with usedrange.columns(1)
.numberformat = "mm/dd/yyyy hh:mm:ss
end with
mfg
Anzeige
AW: CSV automatisch Verarbeiten Zeitangabe
12.01.2017 13:26:52
snb
Mit
Sub M_snb()
Cells(1) = CDate("8:12:03 PM")
End Sub
zeigt Excel: 20:12:03
AW: CSV automatisch Verarbeiten Zeitangabe
12.01.2017 13:42:43
Daniel
Hi
probier mal ein TEXT IN SPALTEN auf die Spalte A anzuwenden.
bei Text In Spalten kannst du angeben, in welcher Schreibweise das Datum vorliegt (bei Manueller Angabe über das Datumsformat MTJ im Schritt 3 des Assistenten)
beim manueller Ausführung könnte das ganze noch am amerikanischen Uhrzeitformat mit AM/PM scheitern, wenn aber das Makro das TEXT IN SPALTEN ausführt, arbeitet es mit den amerikanischen Formaten und wird daher deinen Text in ein korrektes Datum wandeln.
der code dafür sieht so aus, das Datumsformat wird über die FieldInfo eingestellt.
With Sheets("Rawdata")
.Columns(1).TextToColumns _
Destination:=.Cells(1, 1), _
DataType:=xlFixedWidth, _
FieldInfo:=Array(0, 3)
End With
Gruß Daniel
Anzeige
AW: CSV automatisch Verarbeiten Zeitangabe
12.01.2017 13:55:07
Lennart
Das macht genau das, was es soll! Vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige