Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Autofilter

Autofilter
31.01.2023 15:30:36
Thomas
Hallo Excelfreunde,
ich setze mit diesem Macro
'---------------------------------------------------------------------
On Error Resume Next
Dim af
With Application
''.Calculation = xlCalculationManual
.EnableEvents = False
.ScreenUpdating = False
End With
Dim s
s = ActiveCell.Column
'leere abhaken im filter
ActiveSheet.Range("$A$40:$NM$40").AutoFilter Field:=s, Criteria1:=Array("*U*"), Operator:=xlFilterValues

'With Application
' ''.Calculation = xlCalculationManual
' .EnableEvents = True
' .ScreenUpd
End with
'--------------------------------------------------------------------------------------------------------------------
einen Autofilter. Aktiviert wird dieser mit diesen Macro:
'---------------------------------------------------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rng2 As Range
With Application
        .ScreenUpdating = True
        .EnableEvents = True
        '.Calculation = xlCalculationAutomatic
End With
    If Not Intersect(Target, Range("a43:nn43")) Is Nothing Then Call Urlauber_anzeigen2
    If Not Intersect(Target, Range("a42:nn42")) Is Nothing Then Call filter_raus
  With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
End With
End Sub
'--------------------------------------------------------------------------------------------------------------------------------------------
Mich stört jetzt das ich jeweils zum aktivieren ( die Zeile 43 ) und zum deaktivieren die Zeile 42 benutzen muss.
Gern würde ich nur die Zeile 43 benutzen.
So zu sagen:
bei klick in Zelle z43:
- prüfe ob hier schon ein Filter aktiviert ist und falls nicht aktiviere diesen und umgekehrt genauso.
einen Ansatz habe ich schon gefunden. Aber da ich oberhalb der zeile 43 Zeilen ein paar Zeilen ausgeblendet sind, funktioniert dies noch nicht richtig
Dim s
s = ActiveCell.Column
If ActiveSheet.AutoFilterMode Then
If Columns(s).SpecialCells(xlCellTypeVisible).Count = Rows.count Then

ActiveSheet.Range("$A$40:$NM$40").AutoFilter Field:=s, Criteria1:=Array("*U*"), Operator:=xlFilterValues
MsgBox "kein Autofilterkriterium gesetzt"
Else

ActiveSheet.Range("$A$40:$NM$40").AutoFilter Field:=s
MsgBox "Filterung aktiv"
End If
End If
Kann man dieses row.count umschreiben das es erst ab Zeile 43 prüft?
Rows("42:200") funktioniert einfach nicht.
Kann mir dabei jemand helfen?
mfg thomas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter
31.01.2023 15:50:46
Oberschlumpf
hi thomas,
zeig doch bitte per Upload eine Bsp-Datei mit allen ein/ausgeblendeten Zeilen und genügend Bsp-Daten in den richtigen Zellen - dann ist Helfen = viel einfacher.
Ciao
Thorsten
AW: Autofilter
31.01.2023 16:43:15
Yal
Hallo Thomas,
zu einer Prozedure gehört einen "Sub" (oder "Function") und einen "End Sub" (oder "End Function") dazu.
Es ist aberwitzig, dass Du von einer "Urlauber_anzeigen2" und einer "filter_raus" sprichst, aber uns verweigert sehen zu können, welche ist welche.
Oder wie Thorsten es auf dem Punkt bringt: Dateibereitstellung gehört zur Fragestellung.
VG
Yal
AW: Autofilter
31.01.2023 17:09:51
ChrisL
Hi
Ich interpretiere es so...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("a43:nm43")) Is Nothing Then Call filtern
End Sub
Private Sub filtern()
Dim s As Integer
s = ActiveCell.Column
With ActiveSheet
    If .AutoFilter.Filters(s).On Then
        .Range("$A$40:$NM$40").AutoFilter Field:=s
    Else
        .Range("$A$40:$NM$40").AutoFilter Field:=s, Criteria1:="*U*"
    End If
End With
End Sub
cu
Chris
Anzeige
perfekt es funktioniert super
31.01.2023 19:55:08
Thomas
Hallo ChrisL ,
du hast den Nagel voll auf den Kopf getroffen.
Hab riesen riesen dank für deine Hilfe. Und das trotz meiner komischen Beschreibung. Egal was ich noch versucht habe, es wollte nicht klappen.
Es funktioniert perfekt.
besten dank
mfg thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige