Die 15 wichtigsten VBA-Funktionen für Zahlen und Datum

Zahlen und Datum: Die Format()-Funktion

∅ 2.8 / 18 Bewertungen

Die Format()-Funktion

Mit der Format()-Funktion können Datumswerte in die ausführlichen Namen der Monate oder Werktage umgewandelt werden.

Wie schon erwähnt, müssen Sie sich bei der Analyse eines Tagesdatums nicht mit einfachen Zahlen zufrieden geben. Die Format()-Funktion erlaubt den Einsatz von Zahlenformaten, wie Sie diese vielleicht bei Excel-Tabellen vom Menü [Format] [Zelle] [Zahlenformat] kennen.

Die Format()-Funktion heißt manchmal Text()!

Es wäre zu einfach, wenn das gleiche Problem (wie wandle ich eine Zahl in formatierten Text um) von der gleichen Firma (Microsoft) auch zur gleichen Lösung führen würde. Die Format()-Funktion lässt sich auch bei Excel in Tabellen eingeben, dort heißt sie aber Text(), während es auch in Excel-VBA weiterhin Format() ist!

Für den langen oder kurzen Namen des Monats können Sie folgenden Code nehmen:

Sub Monatsnamen()
    MsgBox "kurz: " & Format(m_cdatDatum, "mmm") & vbCrLf & _
        "lang: " & Format(m_cdatDatum, "mmmm")
End Sub

Die Konstante vbCrLf sorgt für einen Zeilenumbruch im angezeigten Text der Meldung:

53276_monatsnamen.png

Kurzer und langer Monatsname aus dem Datum ermittelt.

Die kryptische vbCrLf-Konstante

Die Bezeichnung dieser vbCrLf-Konstanten kommt noch aus der Zeit der Schreibmaschinen. Diese hatten eine Walze für das Papier und am linken Rand einen Hebel.

Wurde dieser betätigt, schob er die Walze zurück (carriage return = Wagenrücklauf) und drehte am Ende das Papier um eine Zeile weiter (line feed = Zeilenvorschub). Deswegen ist vbCrLf die Abkürzung für diese Aktion: Visual Basic Carriage Return Line Feed.

Entsprechend gilt dies für die Werktage, wie dieser Code zeigt:

Sub Tagesnamen()
    MsgBox "kurz: " & Format(m_cdatDatum, "ddd") & vbCrLf & _
        "lang: " & Format(m_cdatDatum, "dddd")
End Sub

Die Meldung zeigt in diesem Fall Mi bzw. Mittwoch als Ergebnis. Weitere Möglichkeiten der Format()-Funktion sind abhängig vom jeweiligen Office-Programm, so kennt etwa Access-VBA noch Quartale und Kalenderwochen, wie Sie der Hilfe entnehmen können.