Kopfzeile

Hallo!

Ich habe eine Datei die aus 12 Tabellenblättern (Monate) besteht.
In der Kopfzeile steht der Monat des jeweiligen Tabellenblattes. In einem separaten Tabellenblatt stehen allgemeine Daten wie z.B. das Jahr, das beliebig geändert werden kann. Ich möchte jetzt dass in der Kopfzeile neben dem Monat das jeweilige Jahr (was in der Tabelle1 ausgewählt werden kann) steht. Ich schätze, das geht nur über VBA. Aber wie?

LG

Ich habe eine Datei die aus 12 Tabellenblättern (Monate)
besteht.
In der Kopfzeile steht der Monat des jeweiligen
Tabellenblattes. In einem separaten Tabellenblatt stehen
allgemeine Daten wie z.B. das Jahr, das beliebig geändert
werden kann. Ich möchte jetzt dass in der Kopfzeile neben dem
Monat das jeweilige Jahr (was in der Tabelle1 ausgewählt
werden kann) steht. Ich schätze, das geht nur über VBA. Aber
wie?

Hallo Doreen,

ob es nur mit Vba geht kann ich nicht sagen weil ich deine Problematik noch nicht ganz verstanden habe.

Tabelle1 ist deine seperate Tabelle?

Gruß
Reinhard

Hallo!

Ich habe eine Datei die aus 12 Tabellenblättern (Monate)
besteht.
In der Kopfzeile steht der Monat des jeweiligen
Tabellenblattes. In einem separaten Tabellenblatt stehen
allgemeine Daten wie z.B. das Jahr, das beliebig geändert
werden kann. Ich möchte jetzt dass in der Kopfzeile neben dem
Monat das jeweilige Jahr (was in der Tabelle1 ausgewählt
werden kann) steht. Ich schätze, das geht nur über VBA. Aber
wie?

Hallo Doreen
Ohne VBA geht das kaum.
Angenommen in A1 in Tabelle1 steht das Jahr. Dann heisst das Makro für die zentrierte Kopfzeile:

Sub Kopftext_Zentriert()
Dim jahr, Kopftext
jahr = Range(„Tabelle1!A1“)
Kopftext = ActiveSheet.PageSetup.CenterHeader
Kopftext = Kopftext & " " & jahr
With ActiveSheet.PageSetup
.CenterHeader = Kopftext
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Aber dieses Makro wird Dir nur einmal helfen: Wenn Du es beim zweiten mal anwendest heisst dann die Kopfzeile z. B. „Januar 2009 2010“

Das wirst Du ja nicht wollen. Deshalb eine Variante 2. Die geht davon aus, dass in Tabelle1 das Jahr und in der jeweils aktuellen Tabelle in A1 der betreffende Monat steht:

Sub Kopftext_Zentriert_V2()
Dim monat, jahr, Kopftext
monat = ActiveSheet.Range(„A1“)
jahr = Range(„Tabelle1!A1“)
Kopftext = monat & " " & jahr
With ActiveSheet.PageSetup
.CenterHeader = Kopftext
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Ich hoffe, das hilft Dir, sonst sag’s ganz ungeniert!
Grüsse Niclaus

Hallo Reinhard,Hallo Niclaus,

genau, Tabelle1 = separate Tabelle. Anschließend 12 Tabellenblätter (Jan-Dez). Diese Tabellenblätter haben in der Kopfzeile den jeweiligen Monat stehen durch &[Register]. Der Monat steht also in keiner Zelle, sondern wird über die Funktion aus der Kopfzeile heraus generiert. (Niclaus, deshalb funktioniert die Lösung 2 nicht so richtig) Hinter diesen Monat möchte ich jetzt das aus Tabelle1 Zelle A1 das Jahr automatisch hintergeschrieben wird. Wenn dann ein neues Jahr beginnt, und ich das Jahr in Tabelle1 Zelle A1 ändere, möchte ich, dass das neue Jahr hinter dem Monat steht.

LG

genau, Tabelle1 = separate Tabelle. Anschließend 12
Tabellenblätter (Jan-Dez). Diese Tabellenblätter haben in der
Kopfzeile den jeweiligen Monat stehen durch &[Register]. Der
Monat steht also in keiner Zelle, sondern wird über die
Funktion aus der Kopfzeile heraus generiert. (Niclaus, deshalb
funktioniert die Lösung 2 nicht so richtig) Hinter diesen
Monat möchte ich jetzt das aus Tabelle1 Zelle A1 das Jahr
automatisch hintergeschrieben wird. Wenn dann ein neues Jahr
beginnt, und ich das Jahr in Tabelle1 Zelle A1 ändere, möchte
ich, dass das neue Jahr hinter dem Monat steht.

Hallo Doreen,

sorry, ich habe deine Kopfzeile verwechselt :smile:

Meinst du es so:

Sub Kopftext\_Zentriert\_V2()
With ActiveSheet.PageSetup
 .CenterHeader = "&A" & " / " & Worksheets("Tabelle1").Range("A1")
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Gruß
Reinhard

Hallo Reinhard,

super das hat geklappt. Nur schreibt er mir das immer mit „/“ zb Jan / 2009. Und dann müsste ich das Maktro noch einer Schaltfläche zuweisen, damit dann auf Knopfdruck alle 12 Monate ein neues Jahr bekommen. Ich versuch es mal…

LG