Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Filter über Makro steuern

Filter über Makro steuern
14.07.2008 09:41:20
Thomas
Guten Morgen liebe Excel Gemeinde,
ich möchte in einem Tabellenbatt eine Automatische Verknüpfung
eines Filters mit einem Wert aus der Auswahlliste. Ich glaube allerdings, sowas ist nur mit VBA möglich
und genau hier liegt mein Problem. Hab es mit dem Rekorder versucht, aber das bringt leider
nicht das gewünschte Ergebnis.
Es sollte so funktionieren:
Filter in Spalte H --> benutzerdefinierte Auswahl --> enthält: Wert Zelle K1
~f~
In K1 hab ich über Gültigkeit eine Auswahlliste definiert, vorher wird also ein Wert in K1 ausgewählt.
Falls K1 leer ist, sollte der Filter natürlich wieder alle Werte der Spalte H eingeblendet haben.
Kann mir vielleicht jemand helfen?
Danke und schönen Gruß an euch alle.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filter über Makro steuern
14.07.2008 10:20:02
Mustafa
Hallo Thomas,
Versuch mal folgenden Code :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Wert As String
Wert = Range("K1")
Range("H:H").AutoFilter Field:=1, Criteria1:=Left(Wert, 1) & "*", Operator:=xlAnd
End Sub


Rückmeldung obs hilft wäre nett.
Viele Grüße aus Köln.

Korrektur
14.07.2008 10:23:37
Mustafa
Hallo Thomas:
Benutze folgenden Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address = "$D$1" Then Exit Sub
Dim Wert As String
Wert = Range("D1")
Range("A:A").AutoFilter Field:=1, Criteria1:=Left(Wert, 1) & "*", Operator:=xlAnd
End Sub


Gruß Mustafa

Anzeige
Korrektur der Korrektur :)
14.07.2008 10:28:09
Mustafa
Natürlich muss in der ersten Programmzeile Nach K1 und nicht nach D1 abgefragt werden, also wie folgt ändern:
If Not Target.Address = "$K$1" Then Exit Sub

AW: Korrektur
14.07.2008 10:36:44
Thomas
Hallo Mustafa,
ich kenn mich mit VBA nicht aus, aber kann es sein dass du statt K1 die Zelle K1
verwendet hast?
Ich habs getestet, und hab auch meine Gültigkeitsliste dann mal für D 1 definiert,
aber leider funktioniert es nicht. Ich hab deinen Text so wie er war zu einem Command Button3 eingefügt, damit ich mit Click das Makro starte (Private Sub Bezeichnung ist dann halt anders, aber sonst alles so übernommen).
Fehlermeldung lautet: Laufzeitfehler 424 , Objekt erforderlich.
Es wird beim Debuggen die 2te Zeile (If Befehl markiert).
Gruß Thomas

Anzeige
AW: Korrektur
14.07.2008 10:52:00
Mustafa
Hallo Thomas :
hier mal eine Beispieldatei:
https://www.herber.de/bbs/user/53793.xls
Der Code gehört nicht in ein Modul sonder in das Modul des Tabellenblattes in dem du sortieren tust.

AW: Korrektur
14.07.2008 11:00:00
Thomas
Hallo Mustafa,
in deiner Beispieldatei ändert sich bei mir nichts, wenn ich einen anderen Buchstaben auswähle.
Ich habe deinen Code nicht in ein Modul sondern direkt in mein Tabellenblatt kopiert.
(Heißt bei mir Tabelle 7).
Trotzdem geht es leider (noch) nicht...

AW: Korrektur
14.07.2008 11:08:07
Mustafa
Hallo Thomas,
Also wenn ich die Arbeitsmappe öffne die ich dir hier hochgeladen habe und die Zelle D1 ändere dann wird bei mir automatisch nach dem Buchstaben gefiltert.
Vielleicht lädst du mal eine kleine Beispieldatei von dir hoch.
PS: wie sieht es mit der Makrosicherheit aus?
Wenn die auf hoch steht werden Makros nicht ausgeführt.

Anzeige
AW: Filter über Makro steuern
14.07.2008 11:43:00
Thomas
Hallo Mustafa, schau dir mal meine Datei an.
https://www.herber.de/bbs/user/53796.zip
Deinen Code hab ich wie gesagt beim
Command Button 3 eingefügt und zwar so:

Private Sub CommandButton3_Click()
If Not Target.Address = "$K$1" Then Exit Sub
Dim Wert As String
Wert = Range("K1")
Range("A:A").AutoFilter Field:=1, Criteria1:=Left(Wert, 1) & "*", Operator:=xlAnd
End Sub


Filtern will ich in Spalte H, benutzerdefiniert mit "enthält Wert K1".
Der Laufzeitfehler 424 kommt schon in der If Zeile.

Anzeige
AW: Filter über Makro steuern
14.07.2008 12:15:00
Mustafa
Hallo Thomas,
habe den Fehler gefunden.
Ändere folgende Zeile so um:
Range("H:H").AutoFilter Field:=8, Criteria1:=Left(Wert, 1) & "*", Operator:=xlAnd
nach :
Range("H:H").AutoFilter Field:=8, Criteria1:=Left(Wert, 7) & "*", Operator:=xlAnd
Dann sollte es auch funktionieren.
Gruß Aus Köln.

AW: Filter über Makro steuern
14.07.2008 13:12:19
Thomas
Hallo Mustafa,
also: Der Fehler beim If Befehl taucht trotzdem noch auf.
Nachdem ich die ganze If Zeile gelöscht habe, funktioniert schon etwas, allerdings noch nicht
ganz richtig. Und zwar galub ich, dass der Auto Filter nicht nach "enthält Wert K1" sondern nach "beginnt mit Wert K1" filtert.
Die Ergebnisse sind dann natürlich nicht die gleichen. Aber wir (oder besser gesagt du) sind schon nahe dran.
Was soll eigentlich dein If- Befehl am Anfang? Kann ich den weglassen?
Grüße zurück und bedanke mich schon mal für die Mühe!

Anzeige
AW: Filter über Makro steuern
14.07.2008 13:26:00
Mustafa
Hallo Thomas,
Ändere den Code für deinen CommandButton3 so um:

Private Sub CommandButton3_Click()
Dim Wert As String
Wert = Range("K1")
Range("H:H").AutoFilter Field:=8, Criteria1:="*" & Wert & "*", Operator:=xlAnd
End Sub


Dann sollte endgültig das gewünschte Ergebnis erscheinen.
Gruß aus Köln.

AW: Filter über Makro steuern
14.07.2008 13:31:40
Thomas
Es funktioniert!!!
Tausend Dank Mustafa. Echt super, wie du geholfen hast!
Scönen Gruß
Thomas

Danke für die Rückmeldung owT
14.07.2008 13:45:42
Mustafa

AW: Danke für die Rückmeldung owT
14.07.2008 13:57:11
Thomas
Hallo nochmal,
ich habe eine (wirklich) allerletzte Frage,
kann ich den ganzen VBA Code auch ohne den Command Button betreiben?
Würde gern, dass das Makro startet, sobald ich in Zelle K1 mit dem Dropdown Menü
einen Wert ausgewählt habe. Geht sowas und wenn ja, wie?

Anzeige
AW: Danke für die Rückmeldung owT
14.07.2008 14:30:39
Mustafa
Hallo Thomas,
hier die gewünschte Version deiner Datei:
https://www.herber.de/bbs/user/53804.zip
Wenn noch fragen sind immer stellen ;)
Gruß aus Köln.

MUSTAFA = EXCELGOTT o.w.T.
14.07.2008 14:39:41
Thomas

Danke für die Rückmeldung
14.07.2008 14:58:00
Mustafa
Aber bin nur bescheidener Anfänger im gegensatz zu manch andrem hier im Forum.
Habe auch fast alles was ich mir angeeignet habe hier im Forum gelernt.
Freut mich das ich dir helfen konnte.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige