AW: Ausblenden umkehren ohne Schleife
16.09.2014 14:52:21
fcs
Hallo Robert,
es funktioniert mit folgendem Makro.
Ich hab es aber nur mit wenigen Zeilen getestet. Außerdem funktioniert es nicht in Verbindung mit Autofilter und Tabellen-Objekten.
Gruß
Franz
Sub EinAusblendenZeilen()
Dim rngVisible As Range, wks As Worksheet
Dim Zeile_1 As Long, Zeile_L As Long, StatusCalc As Long
On Error GoTo Fehler
Set wks = ActiveSheet
Zeile_1 = 4 '### anpassen !!!
'Makrobremsen lösen
With Application
.ScreenUpdating = False
.EnableEvents = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
End With
With wks
If .AutoFilterMode = True Then
MsgBox "Makro funktioniert nicht in Verbindung mit Autofilter", _
vbOKOnly, "Makro: EinAusblendneZeilen"
GoTo Fehler
ElseIf .ListObjects.Count > 0 Then
MsgBox "Makro funktioniert nicht in Verbindung mit Tabellen-Objekten", _
vbOKOnly, "Makro: EinAusblendneZeilen"
GoTo Fehler
End If
With .UsedRange
Zeile_L = .Row + .Rows.Count - 1
End With
Set rngVisible = .Range(.Rows(Zeile_1), _
.Rows(Zeile_L)).SpecialCells(xlCellTypeVisible).EntireRow
.Rows.Hidden = False
rngVisible.Hidden = True
End With
Fehler:
With Err
Select Case .Number
Case 0 ' alles OK
Case 1004
wks.Rows.Hidden = False
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End With
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = StatusCalc
End With
End Sub