ich benötige mal wieder eure Hilfe. Ist es möglich, per VBA die Kopf und Fußzeile von Excel auszulesen? Und wenn, wie Funktioniert das?
Vielen Dank für Eure Hilfe.
Gruß Chris
Sub kfz()
With ActiveSheet.PageSetup
MsgBox .LeftHeader
MsgBox .CenterHeader
MsgBox .RightHeader
MsgBox .LeftFooter
MsgBox .CenterFooter
MsgBox .RightFooter
End With
End Sub
mfg Kurt
Um die Kopfzeile und Fußzeile in Excel per VBA auszulesen, kannst du folgende Schritte befolgen:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Klicke auf Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
Füge den folgenden Code in das Modul ein:
Sub Header_And_Footer()
Dim strHeader As String, strFooter As String
With ActiveSheet.PageSetup
strHeader = .LeftHeader & vbTab & .CenterHeader & vbTab & .RightHeader
strFooter = .LeftFooter & vbTab & .CenterFooter & vbTab & .RightFooter
End With
MsgBox "Kopfzeile: " & strHeader & vbLf & vbLf & _
"Fusszeile: " & strFooter
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Drücke ALT + F8
, wähle das Makro Header_And_Footer
aus und klicke auf Ausführen
.
Jetzt solltest du eine Meldung sehen, die die Inhalte der Kopfzeile und Fußzeile anzeigt.
Fehler: "Variable nicht definiert"
strHeader
und strFooter
als String
deklariert.Fehler: "Objekt erforderlich"
Eine weitere Möglichkeit, die Kopf- und Fußzeilen auszulesen, ist die Verwendung eines einfacheren Codes:
Sub kfz()
With ActiveSheet.PageSetup
MsgBox .LeftHeader
MsgBox .CenterHeader
MsgBox .RightHeader
MsgBox .LeftFooter
MsgBox .CenterFooter
MsgBox .RightFooter
End With
End Sub
Dieser Code zeigt jede Kopf- und Fußzeile in separaten Meldungsfenstern an.
Angenommen, du möchtest die Kopfzeile für eine Rechnung formatieren. Du könntest den folgenden VBA-Code nutzen, um die Kopfzeile automatisch zu setzen und anschließend auszulesen:
Sub SetAndReadHeader()
With ActiveSheet.PageSetup
.LeftHeader = "Rechnung"
.CenterHeader = "Firma XYZ"
.RightHeader = "Datum: " & Format(Date, "dd.mm.yyyy")
End With
Call Header_And_Footer
End Sub
Dieser Code setzt die Kopfzeile und ruft dann die vorherige Funktion auf, um sie auszulesen.
Fehlerbehandlung einfügen: Um sicherzustellen, dass dein Code robust ist, füge Fehlerbehandlungsroutinen hinzu, z.B. On Error Resume Next
.
Energie sparen: Verwende Application.ScreenUpdating = False
, bevor du umfangreiche Änderungen vornimmst, um die Geschwindigkeit zu erhöhen.
Benutzerdefinierte Kopfzeilen: Experimentiere mit verschiedenen Formaten und Inhalten in den Kopfzeilen, wie z.B. Bildern oder speziellen Schriftarten.
1. Kann ich die Kopfzeile auf mehreren Sheets gleichzeitig ändern? Ja, du kannst eine Schleife verwenden, um durch alle Sheets zu iterieren und die Kopfzeile für jedes Sheet zu setzen.
2. Welche Excel-Versionen unterstützen VBA? VBA wird in Excel 2007 und späteren Versionen unterstützt. Stelle sicher, dass du eine unterstützte Version verwendest.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen