Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fusszeile mit VBA anpassen

Fusszeile mit VBA anpassen
31.03.2014 14:07:52
Lara
Hey,
ich habe zwei Seiten und will, dass beide die gleiche Fusszeile aber eine unterschiedliche Kopfzeile haben.
Dafür habe ich das Häkchen gesetzt bei "erste Seite anders". Da in die Fusszeilen Formeln kommen, habe ich folgendes in VBA geschrieben:
Sub Fußzeile_anpassen()
Application.PrintCommunication = True
ActiveSheet.PageSetup.LeftFooter = Range("A79").Value
ActiveSheet.PageSetup.CenterFooter = Range("E79").Value
ActiveSheet.PageSetup.FirstPage.LeftFooter = Range("A79").Value
ActiveSheet.PageSetup.FirstPage.CenterFooter = Range("E79").Value
End Sub
Solange ich kein Häkchen bei "erste Seite anders" gesetzt habe, und die beiden letzten Zeilen mit der FirstPage weglasse funktioniert es problemlos. Nur habe ich dann leider auf meiner ersten Seite eine Kopfzeile, obwohl dort keine sein soll.
Warum funktioniert es so nicht?
Gruß Lara

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fusszeile mit VBA anpassen
31.03.2014 15:26:24
UweD
Hallo
so.....
    With ActiveSheet.PageSetup
.DifferentFirstPageHeaderFooter = True
'Kopfzeilen
.FirstPage.LeftHeader.Text = "O1 l"
.FirstPage.CenterHeader.Text = "O1 m"
.FirstPage.RightHeader.Text = "O1 r"
.LeftHeader = "O2 l"
.CenterHeader = "O2 m"
.RightHeader = "O2 r"
'Fußzeilen
.FirstPage.LeftFooter.Text = Range("A79").Value
.FirstPage.CenterFooter.Text = Range("E79").Value
.FirstPage.RightFooter.Text = "U1 r"
.LeftFooter = .FirstPage.LeftFooter.Text
.CenterFooter = .FirstPage.CenterFooter.Text
.RightFooter = .FirstPage.RightFooter.Text
End With
Gruß UweD

Anzeige
AW: Fusszeile mit VBA anpassen
31.03.2014 15:47:44
Lara
Hallo Uwe,
ich habe um deinen Quellcode ein Sub drumgemacht, meinen Text eingetragen und es auf meinen Button gelegt und es funktioniert super! Vielen Dank dir dafür!
Gruß Lara
;
Anzeige
Anzeige

Infobox / Tutorial

Fusszeile mit VBA anpassen in Excel


Schritt-für-Schritt-Anleitung

Um die Fusszeile in Excel mit VBA anzupassen, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (deinDateiname)", wähle „Einfügen“ und dann „Modul“.

  3. Füge den folgenden Code ein:

    Sub Fußzeile_anpassen()
       Application.PrintCommunication = True
       ActiveSheet.PageSetup.LeftFooter = Range("A79").Value
       ActiveSheet.PageSetup.CenterFooter = Range("E79").Value
       ActiveSheet.PageSetup.FirstPage.LeftFooter = Range("A79").Value
       ActiveSheet.PageSetup.FirstPage.CenterFooter = Range("E79").Value
    End Sub
  4. Führe den Code aus: Drücke F5 oder klicke auf „Ausführen“, um den Code auszuführen.

  5. Vergewissere dich, dass die Option „Erste Seite anders“ aktiviert ist: Gehe zu „Seitenlayout“ > „Seite einrichten“ > „Kopf- und Fußzeilen“ und aktiviere „Erste Seite anders“.


Häufige Fehler und Lösungen

  • Fehler: Die Fusszeile wird nicht korrekt angezeigt.

    • Lösung: Stelle sicher, dass das Häkchen bei „Erste Seite anders“ gesetzt ist. Andernfalls werden die Einstellungen für die Fusszeile nicht angewendet.
  • Fehler: Fehlermeldung beim Ausführen des Codes.

    • Lösung: Überprüfe, ob die Zellbezüge (Range("A79") und Range("E79")) korrekt sind und dass die Zellen Werte enthalten.

Alternative Methoden

Falls Du nicht mit VBA arbeiten möchtest, kannst Du die Fusszeile auch manuell in Excel anpassen:

  1. Gehe zu „Einfügen“ > „Kopf- und Fußzeile“.
  2. Wähle die Fusszeile aus, die Du anpassen möchtest.
  3. Gib den gewünschten Text oder die Formeln in die entsprechenden Felder ein.

Diese Methode ist einfacher, bietet jedoch nicht die Flexibilität von VBA.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die Fusszeile mit VBA anpassen kannst:

  1. Einfache Fusszeile:

    ActiveSheet.PageSetup.LeftFooter = "Seite " & ActiveSheet.Index
  2. Fusszeile mit Datum:

    ActiveSheet.PageSetup.CenterFooter = "Datum: " & Format(Date, "dd.mm.yyyy")
  3. Fusszeile mit dynamischen Werten:

    ActiveSheet.PageSetup.LeftFooter = "Wert: " & Range("A1").Value

Tipps für Profis

  • Nutze With-Anweisungen, um Deinen Code effizienter und lesbarer zu gestalten. Beispiel:

    With ActiveSheet.PageSetup
       .LeftFooter = Range("A79").Value
       .CenterFooter = Range("E79").Value
    End With
  • Experimentiere mit weiteren Optionen in der PageSetup-Eigenschaft, um das Layout Deiner Seiten zu optimieren.


FAQ: Häufige Fragen

1. Warum funktioniert der Code nicht in meiner Excel-Version?
Überprüfe, ob Du eine kompatible Excel-Version verwendest. VBA sollte in Excel 2007 und späteren Versionen funktionieren.

2. Kann ich mehrere Fusszeilen für verschiedene Seiten erstellen?
Ja, Du kannst unterschiedliche Fusszeilen für verschiedene Seiten einrichten, indem Du die Eigenschaften für FirstPage und EvenPage nutzt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige