Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1524to1528
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

Combobox zeigt zuviele Werte

Combobox zeigt zuviele Werte
10.11.2016 23:25:42
Fred
Hallo,
.. ich wurschtel mich mehr schlecht als recht durch vba.
Ich habe eine Tabelle A6:BZ9000
Wenn über ein Userform gefiltert werden soll, wird in den Comboboxen Werte aus ab der dritten Zeile mit angezeigt.
Kann mal jemand bitte auf das einfach gehaltene Arbeitsblatt schauen und mir den Fehler erklären?
https://www.herber.de/bbs/user/109328.xlsm
mfg
Fred

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Combobox zeigt zuviele Werte
11.11.2016 06:55:56
baschti007
Ja beim Laden der Userform wird schon ab i = 3 to 7000 geladen deshalb =D
AW: Combobox zeigt zuviele Werte
11.11.2016 13:16:51
Fred
Hallo Baschti,
das ist halt, wenn man vba nur über recorder kann, vom code überhaupt keine Ahnung hat.
Meine Vermutung auf „i = 3“ lag darin, dass die „3“ sich auf die zufällig drei Comboboxen bezieht. „i = ..“ ist aber anscheinend eine häufig angewendete Programmiertechnik. Loop oder Schleife wird anscheinend in dem Fall dafür verwendet, um einen eindimensionalen Zellbereich zu durchlaufen. .. ich tue mich bei Programmiertechniken echt schwer, lerne mitunter an Beispielen (und Fehlern) am ehesten.
Baschti, ich habe mal eine Bitte; Bei meinem Tabellenbeispiel, haben Comboboxen hier und da sicherlich Sinn, Filter zu setzen. Allerdings genauso Optionsbuttons. Ich habe in meiner „Musterdatei“ nochmal 3 Optionsbutton in ein „Frame“ zugefügt.
Optionsbutton10 soll das Kriterium „=1“ für die „Spalte 12 ; („Sieg“) setzen
Optionsbutton11 soll das Kriterium „=1“ für die „Spalte 13 ; („Remis“) setzen
Optionsbutton12 soll das Kriterium „=1“ für die „Spalte 14 ; („Niederlage“) setzen
Könntest Du oder ein anderer vba-Experte den vorhanden Syntax bitte entsprechend ergänzen? Ich hätte sozusagen dann eine Referenz für die vielen anderen „Filter-Setzungen“ in diesem Userform,- naja, und wieder was dazugelernt.
Hier mal das Arbeitsblatt:
https://www.herber.de/bbs/user/109347.xlsm
mfg
Fred
Anzeige
Optionsbutton individuell
11.11.2016 15:17:23
Fred
… ich habs doch selbst hinbekommen. Die „entscheidenen“ Ergänzungen waren:

If OptionButton10.Value = True Then Call CommandButton2_Click: ActiveSheet.UsedRange.AutoFilter  _
Field:=12, Criteria1:=1
If OptionButton11.Value = True Then Call CommandButton2_Click: ActiveSheet.UsedRange.AutoFilter  _
Field:=13, Criteria1:=1
If OptionButton12.Value = True Then Call CommandButton2_Click: ActiveSheet.UsedRange.AutoFilter  _
Field:=14, Criteria1:=1
If OptionButton13.Value = True Then Call CommandButton2_Click: ActiveSheet.UsedRange.AutoFilter  _
Field:=12, Criteria1:=0, Field:=13, Criteria1:=0, Field:=14, Criteria1:=0

.. daraus ergibt sich von meinem Verständnis heraus, eine weitere Frage:
Habe ich eines der „neuen“ Optionsfelder geklickt und will dies rückgängig machen, nutze ich momentan also den Optionsbutton13. Meine Frage:
Kann ich den evt. überflüssig machen, indem ich z.B. auf das zuvor gewählte Optionsfeld einfach nochmal klicke, um Value=False zu erreichen? Gibt es dazu eine Code-Ergänzung?
Hat da jemand einen Tipp?

Die Datei https://www.herber.de/bbs/user/109350.xlsm wurde aus Datenschutzgründen gelöscht


Gruß
Fred
Anzeige
AW: Optionsbutton individuell
11.11.2016 16:52:16
Bastian
Ich würde nen anderen button nehmen --- ToggleButton damit kann man umschalten
Gruß Basti
AW: Optionsbutton individuell
11.11.2016 17:43:45
Fred
moin bastian,
ich muss jetzt erstmal googln, was ein ToggleButton ist .
Bastian, cool!
11.11.2016 18:22:01
Fred
Bastian,
hatte deinen letzten Thread https://www.herber.de/forum/messages/1524335 übersehen.
DAS ist ja cool!
Da ich dieses Beispiel mit dem SpinButton und Label im Frame für viele andere Filtersetzungen übernehmen möchte, ist es halt ein bischen viel Code,- aber es ist cool!
Werde heute und morgen mal versuchen, dies entsprechend umzusetzen.
Danke für die praktische und kreative Hilfe!
Gruß
Fred
Anzeige
AW: Bastian, cool!
11.11.2016 18:38:04
Bastian
Ja code ist viel aber nur weil er am ende wieder am anfang anfängt falls du das nicht brauchst
Dann musst du bei den Optionen des Spinbuttons max=3 Min =0 setzen und dann das hier
Private Sub SpinButton1_SpinDown()
arr2 = Split(arr1, ",")
Label2.Caption = arr2(SpinButton1.Value)
End Sub
Private Sub SpinButton1_SpinUp()
arr2 = Split(arr1, ",")
Label2.Caption = arr2(SpinButton1.Value)
End Sub

AW: Bastian, cool!
11.11.2016 20:02:52
Fred
hmm,
als du den letzten Thread geschrieben hast, war ich schon am "basteln" neuer spinbuttons, frames und tooglebuttons als auch Code anzupassen.
... und habs hinbekommen,- wenn auch ich noch eine Frage dazu hätte. Wird sich allerdings erübriegen, wenn ich deinen neuen Vorschlag gleich umsetzen werde. Da ich ohnehin bei dieser Technik des Filtersetzens für dieses Blatt nur 2 bis 3 Optionen pro SpinButton brauche, werde ich nochmal neu anfangen. Der Code ist wesentlich kürzer ... und macht mich nicht ganz verrückt :-)
Gruß
Fred
Anzeige
Bastian, cool! owT
11.11.2016 20:25:18
Fred
.. so Bastian, es funzt!
.. war super-cool.
beende hiermit den Thread
Gruß
Fred
AW: Bastian, cool! owT
11.11.2016 20:37:33
Bastian
Super Danke schönes Wochenende dir nich =D
GRuß Basti
AW: Bastian, cool! owT
11.11.2016 20:37:53
Bastian
Ups Noch =D meinte ich ;)
keine korrekte Filterung
11.11.2016 22:33:26
Fred
.. ich und mein vba :-(
.. es wird über ein UserForm gefiltert. Leider tritt bei mehrfachen filtern der Spalten nicht die korrekte Ausgabe ein. Nun weis ich nicht, woran das liegt. Es wird das Kriterium in der letzten Spalte gegenüber den anderen Kriterien zuvor gesetzten bevorzugt.
Könnte mal jemand bitte drauf schauen,- vielleicht ist es eine ganz einfache "nummer".
https://www.herber.de/bbs/user/109363.xlsm
Gru0
Fred
Anzeige
AW: keine korrekte Filterung
12.11.2016 10:21:06
Bastian
Hey Ja vielleicht so ?
Was willst du damit denn errreichen am ende ? sollen die gefilterten daten noch irgendwo anders hin ?
Gruß Basti
https://www.herber.de/bbs/user/109367.xlsm
Eventuell Brille notwendig ? :-) owT
11.11.2016 09:03:52
robert
:-))
AW: Eventuell Brille notwendig ? :-) owT
11.11.2016 23:09:42
AlterDresdner
Hallo Fred,
dass mit der dritten Zeile sollte hiermit (am Beispiel ComboBox3) nicht stattfinden:
With ComboBox3
.Clear'Liste erst mal leeren
For i = 7 To Cells(Rows.Count, 3).End(xlUp).Row'alle belegten Zeilen in "C"
'If WorksheetFunction.CountIf(Range("C7:C" & i), Range("C" & i)) = 1 Then
schonda = False 'test auf schon vorhanden
For j = 1 To .ListCount
If Range("C" & i) = .List(j - 1) Then
schonda = True
Exit For
End If
Next j
If Not schonda Then .AddItem Range("C" & i)
'End If
Next i
End With

Was Du mit If WorksheetFunction.CountIf... erreichen willst, ist mir unklar.
Außerdem gibt es m.E. ein grundsätzliches Problem mit Deinem Code, notwendig wäre m.E.:
1. In Userform_Initialize werden alle Comboboxen gefüllt
2. Wenn eine Combobox geändert wird (Ereignis _change), werden alle anderen Boxen entsprechend den aktuellen Auswahlen wieder neu gefüllt.
Gruß der AlteDresdner
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige