ich habe mehrere gleich aufgebaute Excel-Arbeitsmappen für die ich ein " Berichts-Makro" zum Ausdrucken erstellen möchte. Es sollen immer nur die Tabellenblätter mit den Namen Daten 1-x ausgedruckt werden (die Arbeitsmappe erhält noch andere Blätter). Je nach Bedarf möchte ich die Tabellenblätter mit den Namen Daten 1-x ein bzw. ausblenden. Durch das Makro soll in die Seitenansicht gewechselt werden, um sich den Bericht ansehen zu können und einen Drucker auszuwählen. Vorher wird für jedes Tabellenblatt die Zeilenhöhe automatisch angepaßt und die Kopfzeile ausgefüllt. Das Makro, das ich dazu erstellt habe, läuft so lange ich alle Tabellenblätter eingeblendet habe. Blende ich ein Tabellenblatt aus, funktioniert die Anpassung der Zeilenhöhe noch, allerdings wird nicht mehr in die Seitenansicht gewechselt, da die ausgeblendeten Tabellenblätter nicht gefunden werden.
Es wäre super, wenn jemand einen Rat hat, was ich ändern muss damit das Makro läuft.
Im Moment sieht das Makro so aus:
Sub test()
If Sheets("Daten1").Visible Then
Sheets("Daten1").Select
ActiveSheet.Unprotect "test"
Rows("1:200").Select
Selection.Rows.AutoFit
ActiveSheet.Protect "test", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
If Sheets("Daten2").Visible Then
Sheets("Daten2").Select
ActiveSheet.Unprotect "test"
Rows("1:42").Select
Selection.Rows.AutoFit
ActiveSheet.Protect "test", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
If Sheets("Daten3").Visible Then
Sheets("Daten3").Select
ActiveSheet.Unprotect "test"
Rows("1:42").Select
Selection.Rows.AutoFit
ActiveSheet.Protect "test", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Sheets(Array("Daten1", "Daten2", "Daten3")).Select
Sheets("Daten1").Activate
With ActiveSheet.PageSetup
.CenterHeader = "&""Arial,Bold""&12" _
& Sheets("Inhaltsverzeichnis").Range("C2").Value & Chr(10) & "Project no: " & _
Sheets("Inhaltsverzeichnis").Range("C3").Value
End With
ActiveWindow.SelectedSheets.PrintPreview
End Sub
Viele GrüßeMartina