Hallo Steffi,
dann geht es m. E. nur mit vba. Habe da 2 Makros im Einsatz zum Aus- und Einblenden:
Option Explicit
Dim AR As Long: Dim AC As Long 'activecell.row + .column
Dim LR As Long: Dim LC As Long 'ActiveCell.SpecialCells(xlLastCell).Row+ .column
Dim R1 As Integer: Dim C1 As Integer ‚1.DatenZeile und -Spalte
Dim R0 As Integer: Dim i As Long ’ R0=Zeile mit AusBlendMarkierungen‘
Dim Modus As Boolean
Dim bolSperre As Variant
Sub selektiv_ausblenden()
'Call GetMoreSpeed(True)
r1=9’Überschriften NUR OBERHALB Zeile 9!!!
c1=4 'Steuerungs-Spalten NUR VOR Spalte 4!!!
R0 = 7
’ Markierung in Zeile 7 --> Spalte nicht ausblenden, ggf. anpassen
C0=2
’ Markierung in Spalte 2 --> Zeile nicht ausblenden, ggf. anpassen
LC = ActiveCell.SpecialCells(xlLastCell).Column
For i = C1 To LC
If Cells(R0, i) = „“ Then
Columns(i).EntireColumn.Hidden = True
End If
Next i
For i = R1 To LR
If Cells(C0, i) = „“ Then
Columns(i).EntireRow.Hidden = True
End If
Next i
'Call GetMoreSpeed(False)
End Sub
Sub alle_ein()
’ Alle ausgeblendeten Spalten und Zeilen werden eingeblendet,
’ alle Filter zurückgesetzt
'Call GetMoreSpeed(True)
Cells.EntireColumn.Hidden = False: Cells.EntireRow.Hidden = False
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
'Call GetMoreSpeed(False)
End Sub
Und zum Beschleunigen des Ablauf dieses Makro, welches ich von Reinhard erhalten habe:
Public Static Sub GetMoreSpeed(Optional ByVal Modus As Boolean = True)
Dim intCalculation As Integer, bolSperre As Boolean
If Modus = True Then
intCalculation = Application.Calculation
bolSperre = ActiveSheet.ProtectContents
ActiveSheet.Unprotect
Else
If bolSperre = True Then ActiveSheet.Protect
End If
With Application
.ScreenUpdating = Not Modus
.EnableEvents = Not Modus
.Calculation = IIf(Modus = True, xlManual, intCalculation)
.Cursor = IIf(Modus = True, xlWait, xlDefault)
End With
End Sub
Letzteres sollte dann vielleicht oben im Modul eingefügt werden.
Kommt so etwas für Dich in Frage?
Freundliche Grüße
Thomas