Hallo Czerno
Einige operatoren
kleiner
<
größer
>
gleich
=
ungleich
<>
Größer oder gleich
>=
Kleiner oder gleich
<=
Ergänzend
Beschäftige dich mal mit or und and bei einer if abfrage
Wobei geschachtelte Anweisungen schneller sind
und or und and daher nicht die Regel sein sollte
Wenn in Range("A1") eine 1 steht,wird das Makro durchlaufen,siehe 5 Zeile
Anscliessend auf <>1(Variablenname=Suche) ausgeblendet,9 Zeile ist die Abfrage
Sub SpaltenAusblenden()
ReDim Daten(0) As String
Dim DatenQuelle As Variant, Suche As Variant
Dim SpIndex As Long, StIndex As Long, Zähler As Long
Suche = Range("A7")
If Suche = 1 Then
ActiveSheet.Columns.Hidden = False
DatenQuelle = Range(Cells(7, 1), Cells(7, 999))
For SpIndex = 7 To 999
If DatenQuelle(1, SpIndex) <> Suche Then
If Len(Daten(Zähler)) > 240 Then
Zähler = Zähler + 1
ReDim Preserve Daten(Zähler)
End If
Daten(Zähler) = Daten(Zähler) & Cells(1, SpIndex).Address(False, False) & ","
End If
Next SpIndex
For StIndex = 0 To UBound(Daten)
Range(Mid(Daten(StIndex), 1, Len(Daten(StIndex)) - 1)).EntireColumn.Hidden = True
Next StIndex
End If
End Sub
Statt 240 könntest du auch mal 1000 einsetzen,da du ja eine neuere Version hast!
Um das Limit einiger Funktionen nicht zu überschreiten würde ich sagen das
1000 nicht überschritten werden sollte oder eben ausgiebig testen nit erhöhungen
Gemieden werden sollte,Verketten und Verbinden von Zellen
Gruß Nighty
Nochmal zum Autofilter
Die 4 durch eine 1 ersetzen!
Field:=4