6.7k Aufrufe
Gefragt in Tabellenkalkulation von fedjo Experte (2.2k Punkte)
Hallo Excelfreunde,
ich möchte eine Tabelle filtern ( Autofilter ), der durch die Eingabe in eine ComboBox (UserForm) ausgelöst wird.

Selection.AutoFilter Field:=7, Criteria1:=Me.ComboBox3.Value

Die zu filterte Spalte enthält Zahlen (z.B. 456 oder 89,64 ) und ist als Standart formatiert
Es werden aber nur Zahlen ohne Komma angezeigt.
Welches Format muß die ComboBox enthalten, damit auch Zahlen mit Kommastellen angezeigt werden?

Ich hoffe mich verständlich ausgedrückt zu haben, und Ihr könnt mir weiterhelfen.

Gruß
fedjo

19 Antworten

0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
konnte das Problem selber lösen:

Selection.AutoFilter Field:=7, Criteria1:=CDbl(Me.ComboBox3.Value)

Gruß
fedjo
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Excelfreunde,
konnte das Problem so doch nicht lösen.
Der Fehler (Laufzeitfehler 13, Typen unverträglich) wird immer noch angezeigt.

Gruß
fedjo

Private Sub ComboBox3_Change()
Application.ScreenUpdating = False
Selection.AutoFilter Field:=1

Selection.AutoFilter Field:=7, Criteria1:=CDbl(Me.ComboBox3.Value)
End Sub
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo fedjo,

Die Auswahl eines Autofilters über Comboboxen dürfte im nachfolgenden Link gelöst worden sein.

Combobox-Autofilter

Auch bei Inhalten von Kommazahlen in der Tabelle, konnte ich keine Probleme feststellen.

Gruß

Paul1
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Paul,

lange nichts von Dir gelesen, schön dass Du wieder hier bist.

Du hattest übrigens in diesem Thread eine funktionierende Lösung mit Hilfsspalten, ohne geöffnete beteiligte Arbeitsmappen, in Aussicht gestellt.

Kann man da noch hoffen oder war das ein Windei.
Mich würde Deine Vorgehensweise tatsächlich interessieren.

Gruß
Rainer
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Rainer,

Mein Lösungsvorschlag funktioniert!

Ich halte es nicht für erforderlich, den bereits beschrieben Ablauf nochmals zu erklären bzw. eine Beispieldatei mit 24 Hilfsspalten zu erstellen, zumal nur 2 Verschachtelungen pro Spalte auf Grund der Länge der Formeln möglich sind.

Um ehrlich zu sein, bin ich froh, dass der Fragesteller Deine Lösung bevorzugt hat

Gruß

Paul1
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Paul,

Mein Lösungsvorschlag funktioniert!

.... und das glaube ich eben erst, wenn ich es sehe!

Ich glaube nicht, dass Du mit 24 Hilfsspalten, bei 16 Systemen, auskommst.

Mal abgesehen davon, dass so eine Lösung totaler Unsinn wäre, würde ich sie mir aus reinem Interesse gern mal ansehen.

Und wenn man sowas in einem Forum vorschlägt, sollte man es auch präsentieren, denn lernen können Hilfesuchende auch an Lösungen, die nicht gerade optimal sind.

Ich will und kann Dich keinesfalls zwingen, aber Worthalten ist immer eine schöne Sache.

Gruß
Rainer
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo fedjo!

Tausche Deinen Code für die ComboBox3 gegen den folgenden aus:

Private Sub ComboBox3_Change()
If Me.ComboBox3 > "" Then
Application.ScreenUpdating = False

Selection.AutoFilter Field:=1

Selection.AutoFilter Field:=7, Criteria1:="=" & CDbl(Me.ComboBox3.Value)
Else
Selection.AutoFilter Field:=7
End If
End Sub
Bei obigen Code wird nur gefiltert, wenn auch wirklich etwas in der ComboBox steht. Bei Deinem alten Code wurde ein Laufzeitfehler erzeugt, wenn man z.B. den Wert in der ComboBox gelöscht hatte. Dann muss vor dem Kriterium der ComboBox die Zeichenfolge „"=" &“ angeführt werden. Dieser Eintrag sagt aus, dass nach genau dem Wert aus der ComboBox gefiltert wird, das war bei Deiner Variante nämlich nicht der Fall.

Bei Fragen melde Dich.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Rainer,

Ich habe weder Zeit noch Lust, verstehst Du es jetzt, außerdem will ich von Dir nicht mehr belästigt werden

Gruß

Paul1
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Paul,

zur Klarstellung: "Mein Anliegen ist aufgrund Deiner Behauptung entstanden, die Du bis jetzt nicht bewiesen hast."

Wenn Du das als Belästigung siehst, kann ich Dir auch nicht mehr helfen.
Werde Dich nicht mehr ansprechen.

Gruß
Rainer
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo,
@ Paul1
Ich wollte aber keine Lösung mit Hilfsspalten, danke für deinen Vorschlag.

@ Oliver
Bei deinem Code erhalte ich die gleiche Fehlermeldung.
Wenn das Format der zu filterten Spalte auf Text verändert wird, funktioniert mein Code, aber im DropDown-Menü wird der Text (Zahlen) nicht sortiert wie beim Format Standard.

Gruß
fedjo
...