Supportnet / Forum / Tabellenkalkulation
Hilfe bei VBA Code
Frage
Hallo Leute,
vielleicht kann mir ja einer von euch helfen... ich verzweifele an einem Filter.
Ich habe eine Combobox, die ich mit ca. 8 Werten gefüllt habe. auch dem WERT (alle).
Durch ein on_Change Ereignis möchte ich nun hier in einer Tabelle bzw. Spalte einen Filter anwenden auf den Begriff, den ich gerade in der ComboBox gewählt habe. Und wenn ich dann auf (alle) setze, soll der mir wieder alle anzeigen.
Habe schon ein paar Sachen ausprobiert aber ich glaube man kann das auch leichter lösen..
Bin für jeden Tipp dankbar,
Micha
Antwort 1 von TomG
Bin nicht so der VBA-*Z* aber du müsstest den Filter lediglich ausschalten sobald der Eintrag "alle" heißt oder es der 1. Eintrag der Box ist.
Gruß
Thomas
Gruß
Thomas
Antwort 2 von Micha999
Guten Morgen,
danke für die Antwort. Ich weiss nicht ob ich das richtig verstanden habe...
Meinst du auch eine AutoFIlter in einer Combobox?? Ich brauche eine KomboBox, die genau die gleiche Funktionalität hat, wie ein Autofilter. Sie soll eine Spalte durchsuchen aber es soll eigentlich kein Autofilter gesetzt werden sondern nur die Comboxbox mit den Filterkriterien als Filter dienen.
Gruß
Micha
danke für die Antwort. Ich weiss nicht ob ich das richtig verstanden habe...
Meinst du auch eine AutoFIlter in einer Combobox?? Ich brauche eine KomboBox, die genau die gleiche Funktionalität hat, wie ein Autofilter. Sie soll eine Spalte durchsuchen aber es soll eigentlich kein Autofilter gesetzt werden sondern nur die Comboxbox mit den Filterkriterien als Filter dienen.
Gruß
Micha
Antwort 3 von Aliba
Hi Micha,
so ganz der VBA-ler bin ich ja auch nicht.
Ich habe mir in einer ähnlichen Situation mal folgendermassen geholfen.
Combobox mit einer Zelle verlinken.
LinkedCell : J1
Die Tabelle beginnt mit Überschriften in Zeile4
In A1 steht die Überschrift der zu filternden Spalte
In A2 die Formel: =WENN(J1="alle";"";J1)
Der Code in der Combobox:
Private Sub ComboBox1_Change()
Range("A4:C28").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:A2"), Unique:=False
End Sub
Wobei A4:C28 dein Tabellenbereich ist, der halt für Deine Bedürfnisse angpasst werden muss.
Zeilen 1 bis 3 können ja ausgeblendet werden.
CU Aliba
so ganz der VBA-ler bin ich ja auch nicht.
Ich habe mir in einer ähnlichen Situation mal folgendermassen geholfen.
Combobox mit einer Zelle verlinken.
LinkedCell : J1
Die Tabelle beginnt mit Überschriften in Zeile4
In A1 steht die Überschrift der zu filternden Spalte
In A2 die Formel: =WENN(J1="alle";"";J1)
Der Code in der Combobox:
Private Sub ComboBox1_Change()
Range("A4:C28").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A1:A2"), Unique:=False
End Sub
Wobei A4:C28 dein Tabellenbereich ist, der halt für Deine Bedürfnisse angpasst werden muss.
Zeilen 1 bis 3 können ja ausgeblendet werden.
CU Aliba

