VBA Autofilter Variablen definieren
#1
Hallo again

Ich habe im Netz folgendes Makro gefunden. Da ich "Option Explicit" an habe, erhalte ich die Meldung, dass Variablen nicht definiert sind.
Z.B. "AutoFilterMode"
Welche Variablen muss ich wie definieren, damit das Makro mit "Qption Explicit" läuft?

--------------------------------
Private Sub Worksheet_Calculate()
Dim f As Filter, i As Long
   On Error Resume Next
   If AutoFilterMode Then
      For i = 1 To AutoFilter.Filters.Count
         If AutoFilter.Filters(i).On Then
            ActiveCell.CurrentRegion.Cells(1, i).Interior.ColorIndex = 3
         Else
            ActiveCell.CurrentRegion.Cells(1, i).Interior.ColorIndex = Null
         End If
      Next
   Else
      ActiveCell.CurrentRegion.Rows(1).Interior.ColorIndex = Null
   End If
End Sub

 

-------------------


Danke für Eure Hilfe



Gruss



Theo
Top
#2
Hallo Theo,

schau dir doch mal den Code von Uwe genau an. Stand da das AutofilterMode alleine?

Code:
If Worksheets("Tabelle1").AutoFilterMode
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hallo Stefan

Ja, ich habe den Code 1:1 kopiert.
Ich weiss allerdings nicht, ob dieser von Uwe war.
Ich konnte ihn, trotz intensivem Suchen, nicht mehr finden...

------------------------------
Ich habe aber eine andere Lösung gefunden, in Form einer Funktion.
Es braucht halt eine zusätzliche Zeile für das Outputkriterium.

Hier der Code:

Public Function isFilterOn2(rng As Range) As Boolean
Dim f As Filter, i As Integer
With rng.Parent
    If .AutoFilterMode Then
        If .FilterMode Then
            With .AutoFilter
                If .Filters(rng.Column - .Range.Column + 1).On Then _
                isFilterOn2 = True
            End With
        End If
    End If
End With
End Function

Funktioniert bei mir tadellos.

Gruss und Dank für Deine Antwort


Theo
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste