Microsoft Excel

Herbers Excel/VBA-Archiv

Durch Kontrollkästchen ausgewählte Sheets Drucken

Betrifft: Durch Kontrollkästchen ausgewählte Sheets Drucken von: Dennis D.
Geschrieben am: 08.08.2014 10:05:18

Hallo,

ich möchte über einen "Auswahl Drucken" Button, die zuvor durch Kontrollkästchen ausgewählten Sheets ausdrucken und wenn möglich, bevor der Druck starte noch Zugriff auf die Druckvorschau/optionen haben. Zum Verständnis habe ich eine Datei als Beispiel beigefügt. https://www.herber.de/bbs/user/91965.xlsm

Vielen Dank im Voraus

Dennis

  

Betrifft: AW: Durch Kontrollkästchen ausgewählte Sheets Drucken von: Daniel
Geschrieben am: 08.08.2014 10:21:11

Hi

1. Weise jedem Kontrollkästchen eine Ausgabezelle zu, im Idealfall die Zellen C4-C6.
das geht über das Kontextmenü des Kästchen mit Steuerelement formatieren - Steuerung - Zellverküpfung
die Schriftfarbe der Zellen setzt du weiss, damit der Inhalt (WAHR / FALSCH , je nachdem, ob das Häkchen gesetzt ist oder nicht) nicht stört.

2. 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
3. Achte darauf, dass in Spalte B genau der selbe Text steht, wie auf dem dazugehörigen Tabellenblattreiter, sonst kann das Makro das Blatt nicht finden.

Gruß Daniel


  

Betrifft: AW: Durch Kontrollkästchen ausgewählte Sheets Drucken von: Dennis D.
Geschrieben am: 08.08.2014 10:53:19

Hallo Daniel,

danke für die schnelle Hilfe. Der Code funktioniert wunderbar wenn nur ein einzelnes Kontrollkästchen ausgewählt ist. Sind jedoch mehrer Kästchen ausgewählt erscheint folgende Fehlermeldung:

Laufzeitfehler '9':

Index außerhalb des gültigen Bereiches

Laut Debugger ist diese Zeile im Code Fehlerhaft:

Sheets(Zelle.Offset(0, -1).Value).Select chk

Kannst du mir sagen wie der Code aussehen muss wenn mehrere Kästchen aktiviert sind und die entsprechenden Ausdrucke erstellt werden sollen.
!?


  

Betrifft: AW: Durch Kontrollkästchen ausgewählte Sheets Drucken von: Daniel
Geschrieben am: 08.08.2014 10:59:20

du hast den 3. Punkt meiner Anweisung nicht gelesen, bzw nicht umgesetzt.
Das Makro such das Tabellenblatt mit dem Text, der in der Zelle in Spalte B steht, dh in den Zellen muss genau der Tabellenblattname stehen.
Gruß Daniel


  

Betrifft: AW: Durch Kontrollkästchen ausgewählte Sheets Drucken von: Dennis D.
Geschrieben am: 08.08.2014 11:00:59

Sorry, hat sich schon erledigt, hatte, wie du geschrieben hast mit der Bennenung der Mappenreiter zutun.
Gibt es eine Möglichkeit diesen Fehler anderweitig zu umgehen, da diese reiter eventuell häufiger umbenannt werden.


  

Betrifft: AW: Durch Kontrollkästchen ausgewählte Sheets Drucken von: Daniel
Geschrieben am: 08.08.2014 11:15:45

Hi

1. Füge in der Spalte D einen einfach Zellverküpfung auf das dazugehörige Blatt ein (=Tabelle1!A1)

2. Ändere den Code so ab:

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
der Zellbezug in der Zelle passt sich automatisch an, wenn du den Blattnamen änderst.
der Code liest dann die Formel dieses Zellbezugs und extrahiert daraus den Blattnamen.
Was dann in Spalte B steht, ist egal, dh du kannst dort auch einen Hinweistext eingeben, der für den Anwender besser verständlich ist als vielleicht nur den reine Blattname.

Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Durch Kontrollkästchen ausgewählte Sheets Drucken"