Ich habe Zelle Wert, der von WYYYYMMDD ist, und dies muss in YYYY/MM/DD konvertiert werden. tatsächlicher Bedarf ist, dass ich 7 Tage zu dem bestimmten Datum hinzufügen kann, indem ich DATEADD functio benutze. Diese Funktion hat das Datumsformat JJJJ/MM/TT und mein Zellenwert hat das Datum WJJJJMMTT.ändern Sie das Datumsformat von JJJJMMTT in JJJJ/MM/TT in VBA
Antwort
Ich bin mir nicht sicher, was die W im WYYYYMMDD ist, aber wenn man es loswerden kann, dann sollten folgende Arbeiten:
x.Value = DateSerial(Left(x.Value, 4), Mid(x.Value, 5, 2), Right(x.Value, 2))
x.NumberFormat = "yyyy/mm/dd"
Ich denke, es gibt einige hier Verwirrung. In Excel wird ein Datum als die Anzahl der Tage seit dem 1. Januar 1900 gespeichert. Das heutige Datum ist 43062. Dies bedeutet, dass Sie jedem Datum in Zelle A1 durch die Formel "= A1 + 7" 7 Tage hinzufügen können müssen die DATEADD-Funktion für Tage verwenden. Ebenso interessiert eine Funktion, die ein Datum benötigt, das Format nicht - sie erwartet einen numerischen Wert. Wenn Ihre Zelle ein Datum enthält, können Sie einfach 7 hinzufügen.
Das Datumsformat ist die Art und Weise, wie Sie diese Zahl anzeigen. Es kann eine beliebige Kombination der Symbole d, m und y sein und kann mit der NumberFormat-Eigenschaft eines Bereichs geändert werden.
Wo Verwirrung entsteht ist, dass es möglich ist, Text einzugeben, der wie ein Datum aussieht, aber das ist eigentlich kein Datum. Eine Zeichenfolge, die wie ein Datum aussieht, kann mithilfe der Funktion DATEVALUE in ein Datum konvertiert werden, jedoch nur, wenn die Zeichenfolge einem bekannten Excel-Datumsformat entspricht. In Ihrem Fall ist das Format YYYYMMDD ein bekanntes Format. Wenn es sich um Text handelt, können Sie das verwenden, nachdem Sie das erste Zeichen von vorne abgeschnitten haben. So (unter der Annahme, Zelle A1), wird dies das Datum 7 Tage legt in Variable x:
Dim r as Range
Dim x as date
Set r = range("a1")
x = DateValue(right(r,len(r)-1))+7
Vielen Dank @Harassed Dad für die Erklärung. Das war eine ziemlich gute Information. Ich habe diese Option ausprobiert und es hat auch funktioniert. Ich bin nicht Experte in VBA, daher habe ich den Entschlüsselungscode, den Sie zur Verfügung gestellt haben. –
- 1. JJJJMMTT in Datumsformat konvertieren JJJJ/MM/TT
- 2. R: Zeichen in Datumsformat, Eingabe wie JJJJMMTT
- 3. Einstellung Datumsformat JJJJMMTT durch Angabe Kulturname
- 4. Ändern von JJJJMMTT zu MM/TT/JJJJ
- 5. konvertieren Datumsformat JJJJMMTT und berechnen Branchendurchschnitt von Datum
- 6. Konvertieren von JJJJMMTT in Monat Format
- 7. Get Datum von int (JJJJMMTT)
- 8. UTC-Zeit in JJJJMMTT-Format konvertieren Javascript
- 9. DateKey formatiert als JJJJMMTT
- 10. Konvertiere JJJJMMTT in mm/TT/JJJJ Format in R
- 11. Mysql: Konvertierungsdatum von 'TT/MM/JJJJ' in 'JJJJMMTT'
- 12. Zeichenfolge von MM/TT/JJJJ in JJJJMMTT konvertieren
- 13. SSIS Konvertieren von m/TT/JJJJ in JJJJMMTT mit Inkonsistenzen
- 14. Python pandas integer JJJJMMTT bis datetime
- 15. Konvertieren YYYY-mm-dd in JJJJMMTT in MYSQL
- 16. Wie formatiert LocalDate zu JJJJMMTT (ohne JodaTime)
- 17. R Daten im Format lesen JJJJMMTT
- 18. Convert Returned String (JJJJMMTT) nach Datum
- 19. Datum im JJJJMMTT-Format in der Windows-Stapeldatei
- 20. Datum des letzten Sonntags in JJJJMMTT-Format in SSIS-Ausdruckserstellungsprogramm
- 21. Ändern Sie das Datumsformat
- 22. Visual Basic - JJJJMMTT HH: MM: SS: MS zu
- 23. hinzufügen Tage Datum im Format JJJJMMTT SQL Server
- 24. anderes Datumsformat eines Datumsformat in Tabelle
- 25. Ändern Sie das Datumsformat in der Liste
- 26. Ändern Sie das Datumsformat in Velocity
- 27. So ändern Sie das Datumsformat in jqgrid
- 28. So ändern Sie das Datumsformat in Yii
- 29. So ändern Sie das Datum in VBA
- 30. TSQL Wie ändere ich das Datum von MMM d JJJJ nach JJJJMMTT
Dank Mehasi, die gearbeitet haben perfekt –
Können Sie meine Antwort als Antwort auf Ihre Frage markieren? Danke. – Xabier