ich habe eine Datei mit mehreren Tabellenblätter und je nach dem welche ich brauche hab ich ein extra Tabellenblatt mit Kontrollkästchen die ich anwähle. Mit einem Button spuckt er genau die Seiten die ich angewählt habe in die Druckvorschau, wenn ich aber per Seite einrichten die Kopfzeile ändere ändert er die nur auf der Seite die man gerade sieht. Klar kann ich auch alle Tabellenblätter die ich brauche makieren und dann die Kopfzeile bearbeiten, aber genau das soll einfachere gehen, vllt. mit VBA und ein zusätzlichen Button. Ich habe eine Beispieldatei angehängt, ich hoffe ihr könnt mir helfen.
ich hab dein Makro probiert der schmeißt mich einfach nur auf das 3 Tabellenblatt und hat nur auf dem dritten in der Kopfzeile "benutzerdefiniert" stehen. Bestimmt weil man die Parameter in VBA eingeben muss, aber bei mir sollte er die Seite einrichten Fenster erscheinen, denn die Kopfzeile ändert sich ständig und es müssen Laien die Datei bedienen können. Gibt es kein Befehl der direkt das Seite einrichten Fenster auf macht?
genau das meine ich Danke. Aber irgendwie ändert er nur die Kopfzeile bei dem ersten Tabellenblatt, kannst du mal bitte rüber schauen?
Code:
Sub KopfFußzeile() Dim i As Long Dim oCheckbox As CheckBox Dim strWs() As String
For Each oCheckbox In ActiveSheet.CheckBoxes If oCheckbox.Value = 1 Then i = i + 1 If i = 1 Then ReDim strWs(1 To 1) Else ReDim Preserve strWs(1 To i) End If strWs(i) = oCheckbox.Caption End If Next oCheckbox
If i > 0 Then Sheets(strWs).Application.Dialogs(xlDialogPageSetup).Show Else MsgBox "Es wurde kein Blatt ausgewählt.", vbInformation End If End Sub
ich möchte jetzt im kompletten Arbeitsblatt die Kopfzeile und Fußzeile änder, sprich wenn ich auf ein Button klicke sollte das Fenster "Seite einrichten" erscheinen. Bei meinem Code ändert der aber nur die Kopfzeile auf dem aktiven Arbeitsblatt. Hat jemand eine Lösung?
Code:
Sub Makro1() Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select Application.Dialogs(xlDialogPageSetup).Show End Sub
Sub SeiteEinrichten() Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select Application.PrintCommunication = False Application.Dialogs(xlDialogPageSetup).Show Application.PrintCommunication = True End Sub
Das läuft bei mir unter Excel 2013 und erzeugt auf allen Blättern den Eintrag.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • Joe