Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1272to1276
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

variable Kopf- und Fußzeilen

variable Kopf- und Fußzeilen
Hans
Hallo,
um die Fuß- und Kopfzeilen je Tabellenblatt unterschiedlich variabel zu beschriften, habe ich volgenden VBA-Code in der Arbeitsmappe:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet = Sheets("Tabelle1") Then
ActiveSheet.PageSetup.LeftHeader = ActiveSheet.Range("P1").Value
ActiveSheet.PageSetup.LeftFooter = ActiveSheet.Range("P2").Value
ActiveSheet.PageSetup.CenterFooter = ActiveSheet.Range("P3").Value
ActiveSheet.PageSetup.RightFooter = ActiveSheet.Range("P4").Value
End If
If ActiveSheet = Sheets("Tabelle2") Then
ActiveSheet.PageSetup.LeftHeader = ActiveSheet.Range("P1").Value
ActiveSheet.PageSetup.LeftFooter = ActiveSheet.Range("P2").Value
ActiveSheet.PageSetup.CenterFooter = ActiveSheet.Range("P3").Value
ActiveSheet.PageSetup.RightFooter = ActiveSheet.Range("P4").Value
End If
If ActiveSheet = Sheets("Tabelle3") Then
ActiveSheet.PageSetup.LeftHeader = ActiveSheet.Range("P1").Value
ActiveSheet.PageSetup.LeftFooter = ActiveSheet.Range("P2").Value
End If
End Sub

Wenn ich die Seite drucke, bekomme ich die Fehlermeldung:
Laufzeitfehler '438'
Objekt unterstützt diese Eigenschaft oder Methode nicht.
Welchen Codefehler habe ich?
Gruß

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: variable Kopf- und Fußzeilen
23.07.2012 17:09:50
hary
Hallo Hans
Versuch mal so. Ungetestet!

Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
Select Case .Name
Case "Tabelle1", "Tabelle2"
.PageSetup.LeftHeader = .Range("P1").Value
.PageSetup.LeftFooter = .Range("P2").Value
.PageSetup.CenterFooter = .Range("P3").Value
.PageSetup.RightFooter = .Range("P4").Value
Case "Tabelle3"
.PageSetup.LeftHeader = .Range("P1").Value
.PageSetup.LeftFooter = .Range("P2").Value
Case Else
End Select
End With
End Sub

gruss hary
AW: variable Kopf- und Fußzeilen
23.07.2012 17:40:34
Hans
Hallo,
der Laufzeitfehler ist weg, allerdings kommen jetzt ein paar andere Schwierigkeiten:
Ich habe meine Blätter mehrsprachig gemacht. Je nach (auf dem ersten Blatt) gewählter Sprache, werden auf jedem einzelnen Tabellenblatt in den Felder P1 bis P10 die auf diesem Blatt benötigten anderssprachigen Ausdrücke über SVerweis hingezogen.
Das bedeutet, ich darf immer nur die Zellen des aktuellen Blattes ziehen und nicht die, eines anderen Tabellenblattes. Deshalb hatte ich die Abfrage, auf welchem tabellenblatt ich bin und es sollen dann genau die zellen P1 bis P10 dieses tabellenblattes gezogen werden.
Weiterhin wird die Fomatierung bei der Übernahme überschrieben. bspw. ist der linke Header in Fett, Arial 14. Beim automatischen Ersetzen ist es anschließend Normal, Arial 11.
Drittes Problem: Der Austausch der Wörter funktioniert nur, wenn ich manuell den Druckbefehl auslöse. Auf dem Blatt habe ich aber eine Schaltfläche, die per VBA einen Ausdruck auslöst, der nur die beschrifteten zeilen druckt. Bei diesem Druckmakro werden die Fuß- und Kopfzeilenbeschriftungen nicht ausgetauscht.
Gruß
Anzeige
AW: variable Kopf- und Fußzeilen
24.07.2012 00:39:04
fcs
Hallo Hans,
wenn du die Kopf-/Fusszeilen per VBA ausfüllst, dann muss die Formatierung immer mit Übergeben werden, wenn sie vom Standard abweicht. Dies erfolgt durch eine vorangestelltes "&" als Steuerzeichen.
    With ActiveSheet.PageSetup
.LeftHeader = "&""Arial,Bold""&14" & ActiveSheet.Range("P1").Text
.LeftFooter = "&""Calibri,Standard""&10" & ActiveSheet.Range("P2").Text
End With
Warum funktioniert es nicht wenn du per Schaltflächen druckst?
Werden in dem Druckmakro die Ereignismakros deaktiviert (Application.Enable>Events = False)?
Wenn du per Schaltfläche druckst, ist dann das zu druckende Blatt auch wirklich das aktive Blatt?
Druckst du immer nur ein Tabellenblatt? oder eine Gruppe von Blättern?
All dies kann zu Fehlern führen, aktives Blatt und zu druckendes Blatt nicht harmonieren. Dann muss man das PageSetup ggf. in das Drucken-Makro in geeigneter Form einbauen.
Gruß
Franz
Anzeige
AW: variable Kopf- und Fußzeilen
24.07.2012 15:23:47
Hans
Hallo Franz,
danke für die Infos. Fast alle Probleme sind jetzt gelöst, bis auf Eines:
Wenn ich den Druck über den normalen Druckbefehl aufrufen, funktioniert der Austausch der Inhalte von Kopf und Fußzeilen inklusive Formatierung einwandfrei.
Wenn ich die Seiten jedoch über ein Druckmakro aufrufe (das nur eine definierte Seitenzahl druckt):
ActiveSheet.PrintOut Copies:=1, from:=1, To:=x
Dann habe ich vor jedem Text Zusatztext stehen. bspw. steht dann dort statt dem gewünschen Wort "Liste" das Wort "9B9B9BListe". Dieses 9B9B9B steht vor jedem Text.
Woran kann das liegen?
Gruß
Anzeige
AW: variable Kopf- und Fußzeilen
24.07.2012 23:04:42
fcs
Hallo Hans,
für dieses Phänomen hab ich keine Erklärung. Da müsste man die Möglickeit haben, sich die Datei mal direkt anzuschauen.
Gruß
Franz

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige