zuerst noch einmal vielen Dank für Deine Hilfestellung!
Zwei Fragen habe ich aber noch:
1. Beim Ausdruck kommt immer zuerst eine leere Seite. Lässt sich dies vermeiden, und wie? (Frage wegen Hajo präziser Formuliert, sonst hätte er wieder nur mit 'Ja' geantwortet.
2. Der Ausdruck der Spalteninhalte von 'B' bis 'V' verteilt sich auf zwei Blätter. Ich brauche aber den Ausdruck nur auf einem Blatt (Querformat ist eingestellt).
Würdest Du mir nochmal helfen?
Tausend Grüße
Konni
Nachstehend Dein Code:
Sub Drucken(intCol As Integer) 'von Josef Ehrensberger
Dim rngHide As Range, rng As Range
Dim lngLast As Long
On Error GoTo ErrExit
Application.ScreenUpdating = False
With Sheets("Nachtragsübersicht")
lngLast = .Cells(Rows.Count, 2).End(xlUp).Row
If Application.CountA(.Range(.Cells(1, 2), .Cells(lngLast, 2))) < lngLast Then
For Each rngHide In .Range(.Cells(1, 2), .Cells(lngLast, 2))
If rngHide = "" Then
If rngHide.MergeCells Then
For Each rng In rngHide.MergeArea
rng.EntireRow.Hidden = rngHide.MergeArea.Cells(1) = ""
Next
Else
rngHide.EntireRow.Hidden = True
End If
End If
Next
End If
If Not rngHide Is Nothing Then rngHide.EntireRow.Hidden = True
.PageSetup.PrintArea = .Range(.Cells(1, 2), .Cells(lngLast, intCol)).Address
.PrintOut
.PageSetup.PrintArea = ""
.Range(.Cells(1, 2), .Cells(lngLast, 2)).Rows.Hidden = False
Set rngHide = Nothing
End With
ActiveSheet.DisplayAutomaticPageBreaks = False
ErrExit:
Application.ScreenUpdating = True
End Sub
Sub B_bis_L() 'von Josef Ehrensberger
Drucken 12 '12=Spalte "L"
End Sub
Sub B_bis_V() 'von Josef Ehrensberger
Drucken 22 '22=Spalte "V"
End Sub