alter thread, gleiches Problem: Field-Feld Filter

Bild

Betrifft: alter thread, gleiches Problem: Field-Feld Filter
von: VBA-Greenhorn
Geschrieben am: 14.05.2015 12:28:26

Hallo Forum,
habe einen alten Thread gefunden, der genau mein Problem behandelt:

Betrifft: AW: VBA Autofilter Index auslesen
von: John


Geschrieben am: 08.01.2005 16:48:33 Hallo Boris, (...) Meine Frage zielte auf ein anderes Problem: Ich habe in der Spalte D den Cursor stehen. Das Makro soll nun den Wert des Filters, also wie _ _ bereits gesagt die 3 bei z.B. Autofilter.Filters(3) zurückgeben. Ich benötige diesen Wert um ein VBA zu schreiben, das sehr flexibel die Daten eines Filters _ aufbereitet und als neue Datei ausgibt. Problem dabei, dass die Filter auf immer wieder neue _ Spalten, sprich Filter-Nummern zugreifen muss. Steht der Cursor in Spalte D, soll er den Wert - des Filters in Spalte D zurück geben, steht der Cursor in Spalte F, soll er den Wert dieses _ _ Filters zurück geben. Du verstehtst was ich meine? Nochmals Danke John

Leider funktionieren die damaligen Antworten nicht.
Ich fülle eine Combobox praktisch mit den Spaltenüberschriften und möchte diese nun gerne als Wert an field:= für
den Autofilter übergeben. Kann das immer nur eine Zahl sein? Kann ich den Zellen Namen geben, den Namen
Nummern zuweisen und die Namen mit der Auswahl der ComboBox vergleichen und so dem Autofilter übergeben?
Hier meine Datei:
https://www.herber.de/bbs/user/97646.xlsm

Wäre super, wenn wer helfen könnte.
Grüße
VBA-Greenhorn

Bild

Betrifft: AW: alter thread, gleiches Problem: Field-Feld Filter
von: robert
Geschrieben am: 14.05.2015 14:48:10
Hi,
so vielleicht ?

Private Sub FilterButton_Click()
Selection.AutoFilter
Dim ft As Long
ft = ComboKrit1.ListIndex + 1
   ActiveSheet.Range("$A$1:$AA$51").AutoFilter Field:=ft, Criteria1:=ComboBegriff1.Value
End Sub


Bild

Betrifft: AW: alter thread, gleiches Problem: Field-Feld Filter
von: VBA-Greenhorn
Geschrieben am: 14.05.2015 20:50:07
Hallo Robert,
Wahnsinn! Genau so. Geht das auch in der Verbindung mit drei field (also drei Suchkriterien) und drei Criterial (also drei entsprechenden Suchwerten)?
So in diesem Sinne:

ft* = ComboKrit2.ListIndex + 1
   ActiveSheet.Range("$A$1:$AA$51").AutoFilter Field:=ft*, Criterial2:=ComboBegriff2.Value
ft** = ComboKrit3.ListIndex + 1
   ActiveSheet.Range("$A$1:$AA$51").AutoFilter Field:=ft**, Criterial3:=ComboBegriff3.Value
Und dann vielleicht alle drei Ausdrücke mit dem Operater xlAnd verknüpfen.
Ist aber eher wirklich eine laienhafte Idee :).
Aber für ein Auswahlkriterium funktioniert es super.
Kannst du es mir auch kommentieren? Würde gerne dazu lernen und es auch verstehen.
Vielen Dank.
Grüße
VBA-Greenhorn

Bild

Betrifft: AW: alter thread, gleiches Problem: Field-Feld Filter
von: SF
Geschrieben am: 15.05.2015 15:04:09
Hola,
da du es ja doch nicht tust....
http://www.office-loesung.de/p/viewtopic.php?f=166&t=691723
Gruß,
steve1da

Bild

Betrifft: AW: alter thread, gleiches Problem: Field-Feld Filter
von: VBA-Greenhorn
Geschrieben am: 15.05.2015 15:28:19
Hallo Steve1da,
vielen Dank. Wie du wahrscheinlich gesehen hast, habe ich im Office-Forum bereits darauf hingewiesen.
Und nun bin ich gerade dabei, die anderen Aktivitäten zu checken. Ich bin nur nicht so schnell wie du.
Aber nochmals vielen Dank.
Gruß
Greenhorn

Bild

Betrifft: AW: alter thread, gleiches Problem: Field-Feld Filter
von: VBA-Greenhorn
Geschrieben am: 15.05.2015 15:35:30
Hallo Robert,
Habe im Link (siehe oben) folgenden Code bekommen, der gut funktioniert:

Private Sub FilterButton_Click()
Selection.AutoFilter
ActiveSheet.Range("$A:$AA").AutoFilter Field:=ComboKrit1.ListIndex + 1, Criteria1:= _
ComboBegriff1.Value
'ActiveSheet.Range("$A:$AA").AutoFilter Field:=ComboKrit2.ListIndex + 1, Criteria1:= _
ComboBegriff2.Value
'ActiveSheet.Range("$A:$AA").AutoFilter Field:=ComboKrit3.ListIndex + 1, Criteria1:= _
ComboBegriff3.Value
End Sub

Klappt prima. Allerdings muss ich immer alle drei Auswahlkriterien belegen, sonst gibt es eine Fehlermeldung. Wie könnte man das umgehen?
LG
Greenhorn

Bild

Betrifft: AW: Nachfrage...
von: robert
Geschrieben am: 15.05.2015 18:27:30
Hi,
auf diesen Code hast Du im OF geantwortet:
Ich bin begeistert usw.
Und jetzt ein Problem?
Dein Code sieht auch anders aus, als der vom OF.
Was ist nun los ?

Private Sub FilterButton_Click()
  With ActiveSheet.Range("$A$1:$AA$51")
    If ComboBegriff1.ListIndex > -1 Then
      .AutoFilter Field:=ComboKrit1.ListIndex + 1, Criteria1:=ComboBegriff1.Value
    End If
    If ComboBegriff2.ListIndex > -1 Then
      .AutoFilter Field:=ComboKrit2.ListIndex + 1, Criteria1:=ComboBegriff2.Value
    End If
    If ComboBegriff3.ListIndex > -1 Then
      .AutoFilter Field:=ComboKrit3.ListIndex + 1, Criteria1:=ComboBegriff3.Value
    End If
  End With
End Sub


Bild

Betrifft: AW: Nachfrage...
von: VBA-Greenhorn
Geschrieben am: 15.05.2015 19:01:58
Hallo Robert,
Alles gut. Wollte dir nur signalisieren, dass ich eine Lösung gefunden habe.
Auch für das Problem des Nicht-Auswählens.
Nochmals vielen Dank.
Gruß
Greenhorn

Bild

Betrifft: Danke f.Rückmeldung - owT.
von: robert
Geschrieben am: 15.05.2015 19:26:03


 Bild

Beiträge aus den Excel-Beispielen zum Thema "alter thread, gleiches Problem: Field-Feld Filter"