Durch Kontrollkästchen ausgewählte Sheets drucken
Schritt-für-Schritt-Anleitung
-
Zuweisung der Ausgabezellen: Weise jedem Kontrollkästchen eine Ausgabezelle zu, zum Beispiel die Zellen C4-C6. Dies geschieht über das Kontextmenü des Kontrollkästchens. Wähle „Steuerelement formatieren“ und dann „Steuerung“ gefolgt von „Zellverknüpfung“.
-
Schriftfarbe anpassen: Setze die Schriftfarbe der Zellen auf Weiß, damit der Inhalt (WAHR / FALSCH) nicht sichtbar ist.
-
Makro erstellen: Füge folgendes Makro in ein allgemeines Modul ein und weise es dem Druck-Button zu:
Sub Schaltfläche94_Klicken()
Dim Zelle As Range
Dim chk As Boolean
chk = True
For Each Zelle In Range("C4:C6")
If Zelle.Value Then
Sheets(Zelle.Offset(0, -1).Value).Select chk
chk = False
End If
Next
If chk = False Then ActiveWindow.SelectedSheets.PrintPreview
End Sub
-
Tabellenblattnamen prüfen: Achte darauf, dass in Spalte B genau der gleiche Text steht wie auf dem entsprechenden Tabellenblattreiter, damit das Makro das Blatt korrekt finden kann.
Häufige Fehler und Lösungen
-
Laufzeitfehler '9': Index außerhalb des gültigen Bereichs: Dieser Fehler tritt auf, wenn mehrere Kontrollkästchen ausgewählt sind und der entsprechende Blattname in Spalte B nicht korrekt ist. Überprüfe, ob der Text in Spalte B mit dem Blattnamen übereinstimmt.
-
Blattnamen ändern: Wenn die Blattnamen häufig umbenannt werden, kannst du eine Zellverknüpfung in Spalte D erstellen, um die Anpassung zu erleichtern. Der Code wird dann angepasst, um den Blattnamen dynamisch zu lesen.
Alternative Methoden
Eine alternative Methode besteht darin, die Zellverknüpfung zu nutzen, um den Blattnamen automatisch zu aktualisieren. Hierzu kannst du in Spalte D den Zellbezug zu dem entsprechenden Blatt einfügen, beispielsweise:
=Tabelle1!A1
Ändere anschließend den Code wie folgt:
Sub Schaltfläche94_Klicken()
Dim Zelle As Range
Dim chk As Boolean
Dim TB As String
chk = True
For Each Zelle In Range("C4:C6")
If Zelle.Value Then
TB = Zelle.Offset(0, 1).Formula
TB = Split(TB, "!")(0)
TB = Replace(TB, "'", "")
TB = Mid(TB, 2)
Sheets(TB).Select chk
chk = False
End If
Next
If chk = False Then ActiveWindow.SelectedSheets.PrintPreview
End Sub
Durch diese Anpassung wird der Blattname aus der Formel extrahiert und ist somit dynamisch.
Praktische Beispiele
Angenommen, du hast drei Kontrollkästchen, die die Sheets „Umsatz“, „Kosten“ und „Gewinn“ repräsentieren. Wenn du in Spalte B die Namen entsprechend einträgst und die Kontrollkästchen korrekt verknüpfst, wirst du in der Lage sein, die ausgewählten Sheets direkt über den Druck-Button auszudrucken.
Tipps für Profis
-
Versteckte Blätter: Achte darauf, dass die Blätter, die du drucken möchtest, nicht ausgeblendet sind. Das Makro kann nur auf sichtbare Blätter zugreifen.
-
Druckeinstellungen: Nutze die Druckvorschau, um sicherzustellen, dass die Formatierung der Blätter korrekt ist, bevor du sie druckst.
-
Benutzerfreundliche Bezeichnungen: Verwende in Spalte B aussagekräftige Texte, die den Nutzern helfen, die Auswahl zu verstehen, anstatt nur die Blattnamen zu verwenden.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Blätter gleichzeitig drucken?
Du kannst mehrere Kontrollkästchen aktivieren, und das angepasste Makro wird alle ausgewählten Blätter in der Druckvorschau anzeigen.
2. Was mache ich, wenn ich den Blattnamen häufig ändere?
Nutze Zellverknüpfungen in einer zusätzlichen Spalte, um den Blattnamen dynamisch zu lesen. So musst du den Text in Spalte B nicht anpassen.