Vergabe einer variablen Kopfzeile mit Makro
16.10.2019 15:44:48
Tobias
ich möchte einem Tabellenblatt im Zuge eines insgesamt umfangreicheren Makros eine (Druck-)Kopfzeile verpassen, die sich aus den (variablen) Eingaben dreier Zellen (B1, B2, B3) und (wiederkehrenden) Text-Elementen zusammensetzt. Wenn ich diesen Namen vorher außerhalb des Makros in einer Zelle B5 auslese, bekomme ich das so hin:
Sub Beispiel ()
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = Range("B5")
.RightHeader = ""
End With
End Sub
Davor ist aber noch ein Zwischenschritt erforderlich, in der Zelle B4 steht folgende Formel: ="Beispiel "&(B1)&" "&(B2)&" neu ab "&(B3)Im Makro lese ich dann (natürlich vor dem Befehl mit der Kopfzeile) die Zelle B4 als reinen Text wie folgt in Zelle B5 aus:
Sub Beispiel ()
Range("B4").Select
Selection.Copy
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Eigentlich will ich aber ohne die Umwege einer Formel (B4) und einer Zwischenzelle (B5) alles über das Makro regeln und dort die Eingaben in den drei Zellen B1, B2 und B3 mit dem Standard-Text verbinden. Mein leider erfolgloser (Fehler beim kompilieren, Syntaxfehler) Versuch: Sub Beispiel ()
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "Beispiel "Range("B1")" "Range("B2")" neu ab "Range("B3"))
.RightHeader = ""
End With
End Sub
Die Kopfzeile soll dann am Ende z.B. lauten: Beispiel Gebäude 1 102 neu ab 2019-02In die drei B-Zellen wurde also vom Benutzer vorher eingegeben:
B1: Gebäude 1
B2: 102
B3: 2019-02
Danke, Tobias
Noch eine Zusatzfrage bzgl. der Zelle B4: wenn ich die Formel
="Beispiel "&(B1)&" "&(B2)&" neu ab "&(B3)
im Text/Formel-Bearbeitungsfeld textlich etwas ändere, wandelt sich sofort der ausgegebene Text (Beispiel neu ab ) in die Formel selbst (als Text) um, also mit Gleichheitszeichen, Anführungszeichen etc. und ist damit unbrauchbar. Das lässt mich etwas verzweifeln ... Was mache ich hier falsch?