Veröffentlicht 6. Januar 200520 j Hallo zusammen, ich mochte in der Kopfzeile einer Seite ein Datum angeben in dem Format 01.MM.JJJJ, d.h. es soll immer der erste des aktuellen Monats/Jahres angezeigt werden. Leider gibt das die vorgegebene Datumsfunktion dieses nicht her. Habt ihr einen Lösungsvorschlag? Danke an alle Helfenden
6. Januar 200520 j Hi, ExAzubi! Für die Lösung Deines Problems gibt es keine "Bormittel". Aber hier kommt die Lösung! Einfach ein Modul erstellen und folgendes hineinkopieren: Sub MonatsErster() Dim xlsSheet As Worksheet Dim datHeute As Date 'Eigentlich ein Datum. 'Aber: Als Text deklariert verliert man das gewünschte Format nicht. '(Die Typ-Umwandlung wird automatisch erledingt.) Dim datErster As String 'Datum aus Variable schneller als Aufruf der Date()-Funktion? datHeute = Date 'Generieren des Monatsersten 'Für Erklärung der Funktionen: 'Cursor in "Format" bzw. "DateSerial" in der nächsten Zeile setzen 'und mit [F1] die entsprechende Hilfe aufrufen. datErster = Format(DateSerial(Year(datHeute), Month(datHeute), 1), "dd.mm.yyyy") 'Jedem Blatt sein eigenes Datum. For Each xlsSheet In ActiveWorkbook.Sheets xlsSheet.PageSetup.LeftHeader = datErster 'Die Plazierungsmöglichkeiten: 'xlsSheet.PageSetup.LeftHeader --> Kopfzeile, linker Abschnitt 'xlsSheet.PageSetup.CenterHeader --> Kopfzeile, mittlerer Abschnitt 'xlsSheet.PageSetup.RightHeader --> Kopfzeile, rechter Abschnitt 'xlsSheet.PageSetup.LeftFooter --> Fußzeile, linker Abschnitt 'xlsSheet.PageSetup.CenterFooter --> Fußzeile, mitlerer Abschnitt 'xlsSheet.PageSetup.RightFooter --> Fußzeile, rechter Abschnitt Next End Sub Dieses Makro muß manuell ausgeführt werden, wenn - sich der Monat ändert und "korrigiert" werden soll. - neue Blätter hinzugefügt werden. Es gibt jedoch Möglichkeiten, Makros z.B. beim Öffnen oder Schließen der Mappe ausführen zu lassen.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.