Inhaltsverzeichnis
Umsetzung von VBA-Makro ist die effektivste, schnellste und sicherste Methode, um jede Operation in Excel auszuführen. In diesem Artikel zeigen wir Ihnen, wie Sie das Datum in Excel mit VBA .
Arbeitsbuch herunterladen
Sie können die kostenlose Excel-Arbeitsmappe für die Praxis hier herunterladen.
Datum mit VBA formatieren.xlsm
4 Methoden zur Datumsformatierung in Excel mit VBA
Sehen Sie sich das folgende Beispiel an: Wir haben die gleichen Daten in beiden Säule B und C so dass wir bei der Formatierung des Datums in Säule C wissen Sie aus dem B-Säule in welchem Format das Datum vorher war.
1 VBA zum Formatieren des Datums von einem Typ in einen anderen in Excel
Zuerst wollen wir wissen, wie man das Datum von Zelle C5 in unserem gegebenen Datensatz mit VBA zu " Dienstag-Januar-2022 ".
Schritte:
- Presse Alt + F11 auf Ihrer Tastatur oder gehen Sie auf die Registerkarte Entwickler -> Visual Basic zu öffnen Visual Basic-Editor .
- Klicken Sie im Pop-up-Code-Fenster in der Menüleiste auf Einfügen -> Modul .
- Kopieren Sie den folgenden Code und fügen Sie ihn in das Codefenster ein.
Sub DateFormat() Range("C5").NumberFormat = "dddd-mmmm-yyyy" 'Damit wird das Datum auf "Dienstag-Januar-2022" formatiert End Sub
Ihr Code ist nun einsatzbereit.
- Presse F5 auf Ihrer Tastatur oder wählen Sie in der Menüleiste Run -> Run Sub/UserForm Sie können auch einfach auf die Schaltfläche kleines Play-Symbol in der Untermenüleiste, um das Makro auszuführen.
Dieser Code formatiert das Datum " 11-01-22 " zu " Dienstag-Januar-2022 ".
Sie können dieses Datumsformat auch in viele andere Formate umwandeln. Folgen Sie einfach dem nachstehenden Code, um das Datum in das von Ihnen gewünschte Format umzuwandeln.
Sub FormatDate() 'Originaldatum ist "11-01-22" Range("C5").NumberFormat = "dd-mm-yyy" 'So wird das Datum auf "11-01-2022" formatiert Range("C6").NumberFormat = "ddd-mm-yyy" 'So wird das Datum auf "Tue-11-2022" formatiert Range("C7").NumberFormat = "dddd-mm-yyy" 'So wird das Datum auf "Dienstag-11-2022" formatiert Range("C8").NumberFormat = "dd-mmm-yyy" 'So wird das Datum auf"11-Jan-2022" Range("C9").NumberFormat = "dd-mmmm-yyy" 'Damit wird das Datum auf "11-Januar-2022" formatiert Range("C10").NumberFormat = "dd-mm-yy" 'Damit wird das Datum auf "11-01-22" formatiert Range("C11").NumberFormat = "ddd mmm yyyy" 'Damit wird das Datum auf "Tue Jan 2022" formatiert Range("C12").NumberFormat = "dddd mmmm yyyy" 'Damit wird das Datum auf "Dienstag Januar 2022" formatiert End Sub
Übersicht
Lesen Sie mehr: Jetzt und Formatfunktionen in Excel VBA
2) VBA einbetten, um das Datum mit der Funktion FORMAT zu konvertieren
Excel hat eine eigene Seriennummer für einzelne Daten. Wenn Sie die Seriennummer eines beliebigen
ein bestimmtes Datum, müssen Sie sich die Funktion DATEVALUE .
Angenommen, Sie möchten die Seriennummer des Datums " 11. Januar 2022 ", dann müssen Sie die Formel wie folgt schreiben,
=DATEVALUE("11. Januar 2022")
Excel gibt Ihnen die Seriennummer 44572 dieses Datums.
Nun werden wir diese Zahl in ihr entsprechendes Datumsformat umwandeln.
Schritte:
- Auf die gleiche Weise wie zuvor, öffnen Sie Visual Basic-Editor von der Entwickler Registerkarte und einfügen. a Modul im Code-Fenster.
- Kopieren Sie im Codefenster den folgenden Code und fügen Sie ihn ein.
Sub Format_Date() Dim iDate As Variant iDate = 44572 'Excel-Seriennummer des Datums "11. Januar 2022" MsgBox Format(iDate, "DD-MMMM-YYYY") End Sub
Ihr Code ist nun einsatzbereit.
Sie erhalten das Datum " 11. Januar 2022 " im Nachrichtenfeld.
Lesen Sie mehr: Verwendung der VBA DateValue-Funktion in Excel
Ähnliche Lektüre
- Wie man das aktuelle Datum in Excel einfügt (3 Wege)
- Datumsvariable in VBA-Codes (7 Verwendungen von Makros mit Beispielen)
- Abrufen des aktuellen Datums in VBA (3 Möglichkeiten)
- Excel-Datumsverknüpfung verwenden
3 VBA zur Datumsumwandlung basierend auf einem bestimmten Teil in Excel
Angenommen, Sie möchten einen bestimmten Teil des Datums formatieren, zum Beispiel nur den Tag/Monat/Jahr, dann schreiben Sie den Code wie folgt,
Sub Date_Format() Range("C5").NumberFormat = "mmmm" 'Damit wird das Datum auf "Januar" formatiert End Sub
Ihr Code ist nun einsatzbereit.
Die " mmmm " in diesem Code bedeutet die Langform des Monatsnamens.
Da das Datum " 11. Januar 2022 ", so dass dieser Teil des Codes den Wert " Januar ".
Sie können diesen Code implementieren, um einen bestimmten Teil des Datums zu formatieren und zu extrahieren, den Sie wünschen.
Sub FormatDateValue() 'Originaldatum ist "11-01-22" Range("C5").NumberFormat = "dd" 'Damit wird das Datum auf "11" formatiert Range("C6").NumberFormat = "ddd" 'Damit wird das Datum auf "Tue" formatiert Range("C7").NumberFormat = "dddd" 'Damit wird das Datum auf "Tuesday" formatiert Range("C8").NumberFormat = "m" 'Damit wird das Datum auf "1" formatiert Range("C9").NumberFormat = "mm" 'Damit wirddas Datum auf "01" formatieren Range("C10").NumberFormat = "mmm" 'Damit wird das Datum auf "Jan" formatiert Range("C11").NumberFormat = "yy" 'Damit wird das Datum auf "22" formatiert Range("C12").NumberFormat = "yyyy" 'Damit wird das Datum auf "2022" formatiert Range("C13").NumberFormat = "dd-mm" 'Damit wird das Datum auf "11-01" formatiert Range("C14").NumberFormat = "mm-yyy" 'Damit wird dasDatum auf "01-2022" Range("C15").NumberFormat = "mmm-yyy" 'Damit wird das Datum auf "Jan-2022" formatiert Range("C16").NumberFormat = "dd-yy" 'Damit wird das Datum auf "11-22" formatiert Range("C17").NumberFormat = "ddd yyyy" 'Damit wird das Datum auf "Tue 2022" formatiert Range("C18").NumberFormat = "dddd-yyyy" 'Damit wird das Datum auf "Dienstag-2022" formatiert Range("C19").NumberFormat = "dd-mmm"'Das Datum wird in "11-Jan" formatiert Range("C20").NumberFormat = "dddd-mmmm" 'Das Datum wird in "Tuesday-January" formatiert End Sub
Übersicht
4 VBA einfügen, um das Datum in einem bestimmten Arbeitsblatt in Excel zu formatieren
Wenn Sie ein Datum auf der Grundlage eines bestimmten Arbeitsblatts formatieren möchten, müssen Sie zunächst den Namen des Arbeitsblatts im Code festlegen und dann das Datum entsprechend dem gewünschten Typ formatieren.
- Öffnen Sie Visual Basic-Editor von der Entwickler Registerkarte und einfügen. a Modul im Code-Fenster.
- Kopieren Sie im Codefenster den folgenden Code und fügen Sie ihn ein.
Sub Format_Date() Dim iSheet As Worksheet Set iSheet = ThisWorkbook.Sheets("Example") 'Das Arbeitsblatt mit dem Namen "Example" einstellen iSheet.Range("C5").NumberFormat = "dddd, mmmmdd, yyyy" End Sub
Ihr Code ist nun einsatzbereit.
Sehen Sie sich die 3. Zeile des Codes an, in der wir zuerst den " Beispiel "Arbeitsblatt, dann formatieren Sie das Datum dieses bestimmten Excel-Blattes.
Schlussfolgerung
In diesem Artikel haben wir Ihnen gezeigt, wie Sie das Datum in Excel mit VBA Ich hoffe, dass dieser Artikel für Sie von Nutzen war. Wenn Sie Fragen zum Thema haben, können Sie sich gerne an mich wenden.