Die 15 wichtigsten VBA-Funktionen für Zahlen und Datum
Zahlen und Datum: Die Format()-Funktion
Die Format()-Funktion
Auf dieser Seite
Mit Bild
Mit der Format()-Funktion können Datumswerte in die ausführlichen Namen der Monate oder Werktage umgewandelt werden.
Mit Bild
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.
Mit Bild
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!
Mit Bild
Für den langen oder kurzen Namen des Monats können Sie folgenden Code nehmen:
Mit Bild
Sub Monatsnamen() MsgBox "kurz: " & Format(m_cdatDatum, "mmm") & vbCrLf & _ "lang: " & Format(m_cdatDatum, "mmmm") End Sub
Mit Bild
Die Konstante vbCrLf sorgt für einen Zeilenumbruch im angezeigten Text der Meldung:
Mit Bild
Kurzer und langer Monatsname aus dem Datum ermittelt.
Mit Bild
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.
Mit Bild
Entsprechend gilt dies für die Werktage, wie dieser Code zeigt:
Mit Bild
Sub Tagesnamen() MsgBox "kurz: " & Format(m_cdatDatum, "ddd") & vbCrLf & _ "lang: " & Format(m_cdatDatum, "dddd") End Sub
Mit Bild
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.