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

alter thread, gleiches Problem: Field-Feld Filter

alter thread, gleiches Problem: Field-Feld Filter
14.05.2015 12:28:26
VBA-Greenhorn
Hallo Forum,
habe einen alten Thread gefunden, der genau mein Problem behandelt: 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

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: alter thread, gleiches Problem: Field-Feld Filter
14.05.2015 14:48:10
robert
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

AW: alter thread, gleiches Problem: Field-Feld Filter
14.05.2015 20:50:07
VBA-Greenhorn
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

Anzeige
AW: alter thread, gleiches Problem: Field-Feld Filter
15.05.2015 15:28:19
VBA-Greenhorn
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

AW: alter thread, gleiches Problem: Field-Feld Filter
15.05.2015 15:35:30
VBA-Greenhorn
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

Anzeige
AW: Nachfrage...
15.05.2015 18:27:30
robert
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

Anzeige
AW: Nachfrage...
15.05.2015 19:01:58
VBA-Greenhorn
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

Danke f.Rückmeldung - owT.
15.05.2015 19:26:03
robert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige