Formatierung der Zeit vom dd/mm/yyyy hh:mm:ss yyyy.mm.dd hh:mm
Erhielt ich folgende Aufgabe:
schalten Sie "dd/mm/yyyy hh:mm:ss" an der Zeit, "yyyy.mm.dd-hh:mm" - format.
Ich hatte gehofft, dass ein einfaches Format(activecell.value, "yyyy.mm.dd-hh:mm") würde helfen, aber.
In einigen Fällen funktioniert es. Jedoch, in einigen speziellen Fällen, gibt es nicht.
Wenn der Tag zwischen 01-12 (austauschbar mit den Monaten!), dann ist es vermasselt die Tage der Monate. (Wahrscheinlich, weil der US-Stil-Datum-format.)
Zum Beispiel original text-string:
04/06/2013 09:00:00
Erwartet:
2013.06.04 09:00 Uhr
Ergebnis:
2013.04.06 09:00 (Tag und Monat vertauscht wurden)
Habe ich versucht, Sie zu überwinden, durch die Formatierung des input, ich gab es ein "dd/mm/yyyy hh:mm:ss" custom format. Nicht helfen, noch tauscht Sie den Tag und den Monat.
Also ich habe keine Ideen mehr, aber reguläre Ausdrücke. Datum-format ist immer das gleiche, so dass nur das bewegen der Teile der Zeichenfolge in Ordnung wäre.
Allerdings weiß ich nicht, wie das funktioniert und google Suche bringt verwirrende Ergebnisse.
Kann mir jemand helfen?
Natürlich, wenn es eine elegantere Art und Weise, es zu tun, der ist auch willkommen.
Ich bin nicht die, die die Daten zu importieren, also ich weiß nicht, wie es getan wird. Ich habe, mit zu arbeiten, wie diese, nicht viel kann ich über Sie leider.
Okay, haben Sie versucht, das filter, was ich vorhin erwähnte? Ich bin mir nicht sicher, wie Sie Sie bitten, damit ich die Antwort, die ich Suche. Können Sie erkennen, welche Termine sind schlecht formatiert? Ich bin zu Ahnen, dass die "gute Termine" sind in
dd/mm/yyyy hh:mm:ss
- format, während die schlechten Daten sind in mm/dd/yyyy hh:mm:ss
. Was passiert, wenn Sie das format aller von Ihnen als mm/dd/yyyy hh:mm:ss
? Alles tun, die Termine ändern, oder nur die guten Termine ändern?sind alle Daten bekannt zu sein in Großbritannien-format?
Sie sind anerkannt als "Allgemeine" von Excel. Sie sind ursprünglich in TT/mm/JJJJ, aber einige von Ihnen sind anerkannt als mm/dd/yyyy.
InformationsquelleAutor Attila Boncok | 2013-04-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie es mit diesem Benutzerdefinierten Format:
Eingeben, um es mit der rechten Maustaste auf die Zelle und Wählen Sie Zelle Formatieren:
Dann unter der
Number
Registerkarte Wählen SieCustom
aus dem Listenfeld. Und geben Sie den mitgelieferten format in derType:
textbox.Wenn das nicht funktioniert. Sind Sie *****Absolut***** Positive, 04/06/2013 09:00:00 6. April 2013 und NICHT am 4. Juni 2013??
Wenn dies immer noch nicht funktioniert und Sie überprüft haben, dass die Daten korrekt sind.
*****HINWEIS: ***** Dies wird nur funktionieren, wenn ALLE Datum-Werte werden von
dd/mm/yyyy hh:mm:ss
wenn Sie nicht haben, um etwas Fehler-Handling und eventuell leicht ändern Sie den code wie es WIRD Probleme verursachen.Wird auch diese Arbeit auf Daten, die innerhalb eines anderen Textes. Wenn der Wert von
A1
istThis is a test 04/06/2013 09:00:00 Lets see what happens
Dann wird der neue Wert
This is a test 2013.06.04 09:00 Lets see what happens
LastRow = Range("I2").End(xlDown).Row; For i = 2 To LastRow; If Cells(i, 9).NumberFormat <> "yyyy.mm.dd hh:mm" Then; Ttime = Cells(i, 9).Value; Cells(i, 9).Value = Format(Ttime, "yyyy.mm.dd hh:mm"); End If; Next
--- ich kann keine Bilder hochladen im Moment, also hier sind zwei einander widersprechende Beispiele: Input -> Ergebnis | 25/04/2013 10:00:00 -> 2013.04.25 10:00 | 01/04/2013 00:00:00 -> 2013.01.04 00:00WENN Sie
DATEVALUE
auf die Zelle bekommen Sie#VALUE!
?Ja, das gleiche Ergebnis mit
TIMEVALUE
.Dann ist die BESTE Lösung in meinen Augen, Wenn du kannst, wäre die Spalte markieren und eine Text-zu-Spalten Mithilfe der "Raum" als Trennzeichen. Dann formatieren Sie die Spalte als Datum, dann in der drop-down-Auswahl
DMY
. Dieser wird sich darum kümmern dieses Problem, aber es wird auch trennen, das Datum und die Uhrzeit in 2 Spalten nicht sicher, ob das funktioniert für Sie. Wenn nicht arbeite ich an einer RegEx-Lösung hinzufügen, um meine Antwort. Wenn der Text in Spalten funktioniert nicht, bitte lassen Sie mich wissen.Ich Aktualisiert meine Antwort. Es enthält nun einen Regulären Ausdruck, der soll das tun, was Sie gefragt haben. Bitte lassen Sie mich wissen, wenn es Ihren Anforderungen nicht entspricht.
InformationsquelleAutor user2140261
seine einfache. . . Folgen Sie einfach den Schritten
wählen Sie die gesamte Spalte oder sogar erforderlich, Zellen
drücken Sie mit der rechten Maustaste und wählen Sie Zelle formatieren " auswählen, wird eine tab-Fenster öffnen
von der Registerkarte zahlen, wählen Sie das Datum , von locale drop-down-Menü wählen Sie " English (South Africa)
aus gegebenen Optionen in Typ wählen Sie den gewünschten reverse-format . . . und Sie getan 🙂
InformationsquelleAutor Musaab Zeeshan
Wenn der Monat und Tag sind in der falschen Stelle, können Sie
"DATE(YEAR(A1),DAY(A1),MONTH(A1))"
, vorausgesetzt es ist im Datum-format, und"DATE(MID(A1,7,4),LEFT(A1,2),MID(A1,4,2))"
wenn es im text-formatInformationsquelleAutor Atull