![]() |
Betrifft: Mit VBA Autofilter steuern
von: Schmitty
Geschrieben am: 07.08.2014 11:47:05
Hallo zusammen,
habe gerade irgendwie ein Brett vorm Kopf, bzw. ich denke wohl zu kompliziert.
Ich steuere meinen Autofilter mit folgendem Code im VBA:
If Target.Address = "$C$8" Then
Selection.AutoFilter Field:=1, Criteria1:=Range("C8").Value
End If
Das hat den Vorteil, dass ich nur noch in der Zelle "C8" einen Wert eintrage und der Autofilter sofort anfängt zu arbeiten.
Nun zu meinem Problem:
Ich möchte, dass wenn die Zelle "C8" leer ist, der Autofilter ausgeschaltet ist und alle Ergebnisse angezeigt werden.
Normalerweise funktioniert es, wenn ich in der Zelle "C8" ein "*" eingebe. Aber genau das möchte ich nicht. Wenn die Zelle "C8" leer ist soll nichts gefiltert werden und alles angezeigt werden!
Hat jemand eine Idee?
Gruß
Christian
![]() ![]() |
Betrifft: AW: Mit VBA Autofilter steuern
von: Hajo_Zi
Geschrieben am: 07.08.2014 11:50:11
If Target="" then
If .Parent.AutoFilterMode Then .Parent.ShowAllData
Else
Selection.AutoFilter Field:=1, Criteria1:=Range("C8").Value
End If
![]() ![]() |
Betrifft: AW: Mit VBA Autofilter steuern
von: Dieter Klemke
Geschrieben am: 07.08.2014 12:01:58
Hallo Christian,
das müsste folgendermaßen gehen:
If Target.Address = "$C$8" Then If Not IsEmpty(Target) Then Selection.AutoFilter Field:=1, Criteria1:=Range("C8").Value Else Selection.AutoFilter Field:=1 End If End IfViele Grüße
![]() ![]() |
Betrifft: AW: Mit VBA Autofilter steuern
von: Schmitty
Geschrieben am: 07.08.2014 14:01:31
Hallo Hajo_Zi & Dieter Klemke:
Danke es funktioniert!
Ich habe aber noch eine kleine Frage:
Wenn ich im Feld C8 einen Wert ein trage, möchte ich, dass der Autofilter nach "*[WERT]*" sucht. Also "*" vor und nach dem Suchbegriff.
WIe erledige ich das?
Gruß
Christian
![]() ![]() |
Betrifft: AW: Mit VBA Autofilter steuern
von: Hajo_Zi
Geschrieben am: 07.08.2014 14:04:17
Hallo Christian,
Criteria1:="*" & Range("C8") & "*"
Gruß Hajo
![]() |