AW: Ausgeblendete...
11.08.2014 11:31:43
fcs
Hallo Andreas,
hier ein angepasster Code für die Schaltfläche.
Es werden alle zutreffenden ausgeblendeten Blätter eingeblendet, in einem Druckjob gedruckt und wieder ausgeblendet.
Gruß
Franz
Private Sub CommandButton1_Click()
Dim sOldPrinter As String
Dim arrSheets() As String, intSh As Integer
Dim wks As Worksheet, sheetAktiv As Object
sOldPrinter = Application.ActivePrinter ' Alten Drucker merken
Set sheetAktiv = ActiveSheet 'aktives Blatt merken
On Error GoTo Fehler:
If ComboBox1.ListIndex = -1 Then
MsgBox "Kein Printer gewählt", vbExclamation
Exit Sub
End If
'############################################################################################### _
'hier sollen ausgeblendete Blaetter gedruckt werden, aber nur wenn in den jeweiligen Blaettern _
in "A4" Daten existieren
For Each wks In ActiveWorkbook.Worksheets
If wks.Visible xlSheetVisible Then
If wks.Range("A4") "" Then
intSh = intSh + 1
ReDim Preserve arrSheets(1 To intSh)
arrSheets(intSh) = wks.name
wks.Visible = xlSheetVisible
End If
End If
Next
If intSh > 0 Then
ActiveWorkbook.Sheets(arrSheets).PrintOut , , , , ComboBox1.Text ' auf den gewünschten _
Drucker drucken
Else
MsgBox "Keine ausgeblendeten Blätter mit Wert in A4 gefunden"
End If
'############################################################################################### _
Aufraeumen:
'gedruckte Blätter wieder ausblenden
If intSh > 0 Then
For intSh = 1 To UBound(arrSheets)
ActiveWorkbook.Sheets(arrSheets(intSh)).Visible = xlSheetHidden
Next
End If
sheetAktiv.Activate 'gemerktes Blatt wieder aktivieren
Application.ActivePrinter = sOldPrinter ' Wieder zurücksetzen
Unload Me 'Userform schließen
Exit Sub
Fehler:
MsgBox Err.Description
Resume Aufraeumen
End Sub