AW: Zellen und Spalten ausserhalb Druckbereich lös
14.07.2006 15:15:11
Dan
Hallo Peter. Hier der Code. Gruss Dan.
Option Explicit
Public
Sub Nur_Druckbereich()
On Error GoTo Err_Nur_Druckbereich
Dim Wkb As Workbook
Dim Ws As Worksheet
Dim rngDruckBereich As Range
Set Wkb = ThisWorkbook
For Each Ws In Wkb.Worksheets
'Prüfen ob in diesem Worksheet Druckbereich vorhanden
Set rngDruckBereich = Druckbereich(Ws)
If (Not rngDruckBereich Is Nothing) Then
'wenn ja, alle Zeilen und Spalten ausserhalb löschen
Call AllesAusserhalbDruckbereichLoeschen(rngDruckBereich)
End If
Next Ws
Exit Sub
Err_Nur_Druckbereich:
MsgBox Err.Description, vbCritical, "Error in Nur_Druckbereich"
End Sub
Public
Function Druckbereich(ByRef io_Worksheet As Worksheet) As Range
Dim strDruckBereich As String
Set Druckbereich = Nothing
strDruckBereich = io_Worksheet.PageSetup.PrintArea
On Error Resume Next
Set Druckbereich = io_Worksheet.Range(strDruckBereich)
End Function
Public
Sub AllesAusserhalbDruckbereichLoeschen(ByRef io_rngDruckBereich As Range)
Dim rngCell As Range
For Each rngCell In io_rngDruckBereich.Worksheet.UsedRange.Cells
If (Intersect(rngCell, io_rngDruckBereich) Is Nothing) Then rngCell.Clear
Next rngCell
End Sub