159 Aufrufe
Gefragt in Tabellenkalkulation von

Ich habe hier aus dem Forum das Problem teilweise gelöst bekommen, wie ich irgendeinen Zellinhalt per Makro in die Kopfzeile aller Tabellenblätter bekomme. Das ist das folgende Makro.

Ich möchte allerdings in die Mitte der Kopfzeile - also .CenterHeader - aus 2 verschiedenen Zellen den Inhalt einfügen, und das ganze untereinander (nicht hintereinander)

Dieses Makro hier fügt nur aus einer Zelle die Werte ein:

Sub Kopfzeilentest()
Dim Blatt As Object
  For Each Blatt In Sheets
    With Blatt.PageSetup
        .CenterHeader = Sheets("Übersicht").Range("E5").Value
    End With
  Next
End Sub

Dankeschön

4 Antworten

0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)

Hallo,

Texte kannst du mit dem & Zeichen verknüpfen. Und wenn ein Zeilenvorschub zwischen zwei Texten eingefügt werden soll, geht das mit

& vbNewLine &

Gruß computerschrat

0 Punkte
Beantwortet von
Bearbeitet
Genial!!! :o)   Funktioniert!!!

Vielen herzlichen Dank!!!!!

Mein neues Problemchen: Es schreibt nun mit diesem Befehl den Inhalt der beiden Zellen untereinander in der Kopfzeile - wie gewünscht - allerdings entsteht dabei dazwischen eine Leerzeile.

Bekommt man das auch noch irgendwie in den Griff, dass die beiden Werte direkt untereinander geschrieben werden, ohne eine zusätzliche Leerzeile?

Dies führe ich derzeit aus - damit befüllt es mir mit 3 Zeilen die Mitte der Kopfzeile, mit 2 Zeilen rechts die Kopfzeile und mit 1 Zeile links die Fußzeile. Leider entsteht wie gesagt bei der Kopfzeile jeweils eine Leerzeile

Sub Kopfzeilentest()
Dim Blatt As Object
  For Each Blatt In Sheets
    With Blatt.PageSetup
        .CenterHeader = "&""Arial,Fett""&8 " & Sheets("Deckblatt").Range("N6").Value & vbNewLine & Sheets("Deckblatt").Range("N7").Value & vbNewLine & "Festigkeitsnachweis"
        
        .RightHeader = "&""Arial,Fett""&10 " & Sheets("Deckblatt").Range("N8").Value & vbNewLine & Sheets("Deckblatt").Range("N5").Value
        
        .LeftFooter = Sheets("Deckblatt").Range("N4").Value
    End With
  Next
End Sub

Danke vorab :o)

lg

Thomas
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Thomas,

woher der zusätzliche Zeilenvorschub kommt weiß ich nicht, du kannst aber anstelle von vbNewLine auch die Alternativen vbCr oder vbCrLf testen. Vielleicht bleibt da die zusätzliche Zeile weg.

Gruß computerschrat
0 Punkte
Beantwortet von
vbCR macht genau, was es soll

Vielen Vielen Dank für diese prompte adäquate Hilfe  :o)
...