Ich habe ein Makro aus dem Web, das ich an meine Bedürfnisse gern anpassen möchte.
Dazu habe ich folgendes vor:
Das Makro, das bei mir in einem allgemeinen Modul ist, soll die Spalten B12:E42 und T12:U42 auf ein A4 Blatt drucken, wobei leere Zeilen nicht enthalten sein dürfen. Dabei soll das Makro nur die Sheets 1 (Januar) bis 12 (Dezember) einbeziehen.
Derzeit ist das Makro noch auf das Activesheet ausgelegt.
Sub DruckZeilen()
Dim wks As Worksheet, Zeile As Long
Set wks = ActiveSheet 'oder = Worksheets("TabellenName")
With wks
Application.ScreenUpdating = False
'Alle Zeilen im Blatt einblenden
.Rows.Hidden = False
With .PageSetup
.FitToPagesTall = False
.FitToPagesWide = 1
.Zoom = False
End With
'Ab Zeile 12 prüfen, ob in Spalten B bis U Zeileninhalte vorhanden
For Zeile = 12 To .Cells.SpecialCells(xlCellTypeLastCell).Row
If Application.WorksheetFunction.CountA(.Range(.Cells(Zeile, 2), _
.Cells(Zeile, 21))) = 0 Then
'ggf. zeile ausblenden
.Rows(Zeile).Hidden = True
End If
Next
Application.ScreenUpdating = True
'Drucken
'.PrintOut 'Drucken auf aktiven Drucker
.PrintPreview 'Seitenvorschau
'Alle Zeilen wieder einblenden
.Rows.Hidden = False
End With
End Sub
Ich glaube, ich müsste die dazwischen liegenden Spalten ausblenden. Und das auch über alle 12 Sheets.
Wie stelle ich das an?
LG
Peer