Bisher wurde eine Kopfzeile dynamisch erzeugt, danach mehrzeilig erweitert und dann der VBA-Code angepasst. Die neue Anforderung war, dass ein Text über dem Logo angegeben werden soll. Ein einfaches Einfügen war nicht möglich, da das Logo bisher fest über die Kopfzeilenfunktion eingebunden war. Deshalb musste der Text UND das Logo via VBA-Code eingebunden werden. Na denn … auf geht’s.
Grundsätzlich bereitet das kein Problem, denn die Anweisungen sind analog zu denen in den vorherigen Beiträgen.
Einzig das Einbinden der Grafik fällt hier etwas aus dem Rahmen.
Zuerst muss im VBA der Ort des Logos angegeben werden.
1 |
ActiveSheet.PageSetup.RightHeaderPicture.Filename = "D:\Pfad\Logo.jpg" |
Danach kann das Logo, mit der Angabe von „&G“, eingebunden werden.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Public Sub dynkopf() ActiveSheet.PageSetup.RightHeaderPicture.Filename = "D:\Pfad\Logo.jpg" With ActiveSheet.PageSetup .LeftHeader = "&""ARIAL,Fett""&24" & Range("N2") & Chr(10) & _ "&""ARIAL,Fett Kursiv""&12" & Range("N3") & Chr(10) & _ "&""ARIAL,Normal""&8" & Range("N4") & Chr(10) & Range("N5") .RightHeader = "&G" End With End Sub |
Aber es sollte ja noch ein Text über dem Logo angedruckt werden.
Die Info dazu befindet sich in der Zelle N6.
Somit lautet der endgültige VBA-Code
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Public Sub dynkopf() ActiveSheet.PageSetup.RightHeaderPicture.Filename = "D:\Pfad\Logo.jpg" With ActiveSheet.PageSetup .LeftHeader = "&""ARIAL,Fett""&24" & Range("N2") & Chr(10) & _ "&""ARIAL,Fett Kursiv""&12" & Range("N3") & Chr(10) & _ "&""ARIAL,Normal""&8" & Range("N4") & Chr(10) & Range("N5") .RightHeader = "&""ARIAL,Fett""&12" & Range("N6") & Chr(10) & "&G" End With End Sub |
Die gewünschten Infos werden jetzt in jedem Tabellenblatt eingetragen.
und nach ausführen des VBA-Codes durch drücken des „Play“-Buttons im VBA-Editor oder durch erneuten aktivieren der Tabellebblätter (umschalten der Tabellenblätter) wird das gewünschte Ergebnis erreicht.