@fsc AW: Drucken auf Knopfdruck
24.11.2016 23:42:50
fcs
Hallo Al,
dan muss man die Makros in folgende Richtung verfeinern.
Gruß
Franz
Sub Drucken()
'Drucken der sichtbaren Blätter aus einer Vorauswahl von Blättern in der aktiven _
Arbeitsmappe
Dim ArrDruck() As String, varItem, k As Integer, strAktiv As String
Dim ArrVorauswahl As Variant
On Error GoTo Fehler
ArrVorauswahl = Split("InhaltsV,Vorbemerkung,Geometrie,Eingabe,Standsicherheit," _
& "Laengsbew,Querkraftbew,Verankerung,Darstellung", ",")
strAktiv = ActiveSheet.Name
For Each varItem In ArrVorauswahl
With ActiveWorkbook.Sheets(varItem)
If .Visible = xlSheetVisible Then
k = k + 1
ReDim Preserve ArrDruck(1 To k)
ArrDruck(k) = .Name
End If
End With
weiter:
Next
If k > 0 Then
Application.ScreenUpdating = False
Sheets(ArrDruck).Select
Application.Dialogs(xlDialogPrint).Show
Application.ScreenUpdating = True
Else
MsgBox "Es gibt keine zu druckenden Blätter"
End If
Fehler:
With Err
Select Case .Number
Case 0 'Alles OK
Case 9 'Indexfehler
Resume weiter
Case Else
MsgBox "Fehler-Nr,: " & .nummer & vbLf & .Description
End Select
End With
ActiveWorkbook.Sheets(strAktiv).Select
End Sub
Sub Drucken_2()
'Drucken der sichtbaren Blätter der aktiven Arbeitsmappe
Dim ArrDruck() As String, i As Integer, k As Integer, strAktiv As String
strAktiv = ActiveSheet.Name
For i = 1 To ActiveWorkbook.Sheets.Count
With ActiveWorkbook.Sheets(i)
If .Visible = xlSheetVisible Then
k = k + 1
ReDim Preserve ArrDruck(1 To k)
ArrDruck(k) = .Name
End If
End With
Next
If k > 0 Then
Application.ScreenUpdating = False
Sheets(ArrDruck).Select
Application.Dialogs(xlDialogPrint).Show
Application.ScreenUpdating = True
Else
MsgBox "Es gibt keine zu druckenden Blätter"
End If
ActiveWorkbook.Sheets(strAktiv).Select
End Sub