Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
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

Probleme mit Filter

Probleme mit Filter
10.02.2018 21:32:17
Chris
Moin zusammen,
anbei meine Beispieldatei
https://www.herber.de/bbs/user/119706.xlsm
Von der Tabelle2 möchte ich eine Filterung in der Tabelle1 bewirken. Die Tabellen möchte ich über Ihren Codenamen ansprechen, also nicht den Text, den der Nutzer unten in den Reitern verändern kann sondern den, den ich im VBA Complier direkt unter Namen ändern kann.
Es soll die Anzahl an Wochen in der Spalte A gefiltert werden.
Mein VBA Code dazu:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1).Adress(False, False) = "C2" Then
With Sheets("Prod_Cabin")
If Not .AutoFilterMode Then .Range("A2").CurrentRegion.AutoFilter
If Target  "" Then
' Autofilter setzen
.Range("A2").AutoFilter Field:=1, Criteria1:=Target.Value
Else
' Filterung aufheben
.AutoFilter.ShowAllData
End If
End With
End If
End Sub
Der Anwender ändert die Anzahl in der Zelle C2 und dann soll die Filterung starten.
Vielen Dank für eure Hilfe :)
Beste Grüße
Chris

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit Filter
10.02.2018 22:26:31
Werner
Hallo Chris,
Address und nicht Adress, und .Cells(1) braucht es nicht.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) = "C2" Then
With Prod_Cabin
If Not .AutoFilterMode Then .Range("A2").CurrentRegion.AutoFilter
If Target  "" Then
' Autofilter setzen
.Range("A2").AutoFilter Field:=1, Criteria1:=Target.Value
Else
' Filterung aufheben
.AutoFilter.ShowAllData
End If
End With
End If
End Sub
Gruß Werner
Logischer Fehler
10.02.2018 22:38:59
Chris
Vielen Dank Werner, jetzt klappt es und ich habe wieder etwas dazu gelernt. Jetzt wo es klappt, fällt mir nur gerade auf, das ich damit nicht das erreiche, was ich mir vorgestellt habe.
Ich würde gerne mit der Filterung alle Werte bis zu einer bestimmten Kalenderwoche anzeigen lassen, also nicht nur 4 zum Beispiel sondern auch 1,2,3 und 4. Bräuchte ich hierfür vielleicht eine Forschleife?
Vielen Dank für Anregungen und beste Grüße
Chris
Anzeige
AW: Probleme mit Filter
10.02.2018 22:48:05
Luschi
Hallo Chrius,
das Setzen des Filters geht so:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rg As Range
If Not (Intersect(Target, Range("C1:C2")) Is Nothing) Then
Set rg = Prod_Cabin.AutoFilter.Range
rg.AutoFilter Field:=2, Operator:=xlFilterValues, _
Criteria2:=Array(0, "12/31/" & Analysis.Range("C1").Value)
rg.AutoFilter Field:=1, Criteria1:=Analysis.Range("C2").Value
End If
End Sub
Gruß von Luschi
aus klein-Paris
Logischer Fehler
11.02.2018 09:23:55
Chris
Vielen Dank Luschi, das klappt wirklich sehr gut. Hast du vielleicht auch eine Idee, für meinen "Logischer Fehler", den eigentlich möchte ich nicht nur die einzelne Woche sehen, sondern alle Wochen bis zur eingegebenen Woche. Also wenn ich 3 eingebe, dann auch die Wochen 1,2 und 3. Vielen Dank für Eure Anregunge.
Anzeige
AW: Logischer Fehler
11.02.2018 10:16:40
Luschi
Hallo Chris,
statt: rg.AutoFilter Field:=1, Criteria1:=Analysis.Range("C2").Value
so:    rg.AutoFilter Field:=1, Criteria1:="<=" & Analysis.Range("C2").Value
Gruß von Luschi
aus klein-Paris
PS: der Makrorecorder hätte Dir das auch verraten (zumindest die Idee dazu)!
AW: Logischer Fehler
11.02.2018 11:09:13
Chris
Moin Luschi,
vielen Dank, du hast mir sehr geholfen und mir die Logik von Codestrukturen näher gebracht. Manchmal sitze ich vor Problemen und statt Sie selber tiefer zu hinterfragen, suche ich im Netz eine Lösung dafür und wenn ich da keine finde, lande ich am Ende hier. Diese Vorgehensweise sollte ich mal überdenken.
Besten Dank und viele Grüße
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige