Anzeige
Archiv - Navigation
1304to1308
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
Füllen ListBox abhängig von zwei ComboBoxen
25.03.2013 16:45:46
zwei
Hallo Forum,
in Abhängigkeit zweier Comboboxen soll die ListBox gefüllt werden.
Wenn in Spalte A nicht numerische Werte stehen, dann funktioniert's.
Wenn in Spalte A numerische (Jahre) stehen, dann nicht. Warum?
Hier ist die Datei: https://www.herber.de/bbs/user/84538.xls
Kan mir bitte jemand helfen? Vielleicht auch ein Beispieldatei wie
in Abhängigkeit zweier Comboboxen eine ListBox gefüllt werden kann.
Vielen Dank im Voraus. chandler

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Füllen ListBox abhängig von zwei ComboBoxen
25.03.2013 17:17:16
zwei
Hallo,
als erstes würde ich keine Funktionen als Variable verwenden, könnte mal in die Hose gehen.
Zum zweiten vergleichst Du eine Zahl mit Text, 2013 = "2013"
Versuche es mal so, mach aus Dim Year dies zBsp. Dim varYear
Im Code machst Du aus dem Text eine Zahl.
varYear = ComboBox1.Value
If IsNumeric(varYear) Then varYear = varYear * 1
'...
Gruß Tino

AW: Füllen ListBox abhängig von zwei ComboBoxen
25.03.2013 17:20:51
zwei
Hi
in einer Combo- oder Listbox steht immer Text ! (in deinem Fall halt die Ziffernfolge "2013"
in deinen Zellen stehen Zahlen (2013) und für Excel sind Zahl und Text nie gleich.
du musst also deine Zahlen in den Zellen in Text umwandeln, um sie mit den Comboboxinhalten vergleichen zu können.
am einfachsten, indem zu den Zellinhalt als Text abfragst:
If Cells(iRow, 1).Text = Year
noch ein paar kleine Anmerkungen:
YEAR ist als Variablenbenennung ungeeignet, weil es auch noch eine VBA-Funktion Year() gibt.
meistens funktioniert es zwar, aber es könnte zu Verwirrung führen, wenn ein dritter den Code lesen muss.
Dim YEAR, Location as String

dimensioniert nur Location als String, YEAR hingegen als Variant.
solle YEAR auch String sein, dann so:
Dim YEAR as String, Location as String.
Gruß Daniel

Anzeige
AW: Füllen ListBox abhängig von zwei ComboBoxen
25.03.2013 18:28:17
zwei
Hallo Tino,
Hallo Daniel,
vielen Dank für die Hilfe.
Ich habe bereits Year so deklariert Dim varYear As Variant.
Die Textabfrage wie vorgegeben so realisiert: "If Cells(iRow, 1).Text = varYear And Cells(iRow, 2).Text = Location Then"
Makro funktioniert soweit auch, es gibt aber immer noch einen Schönheitsfehler.
Wenn bei nachfolgender bzw. neuen Auswahlkombination in den Comboboxen die Werte nicht übereinstimmen mit den in der Tabelle, wird die Listbox nicht aktualisiert (nicht geleert). Ein bisschen verwirrt ist das schon. Wo und wie könnte man das ListBox1.Clear noch plazieren?
Vielen Dank für die Hilfe im Voraus. chandler

Anzeige
Erledigt
25.03.2013 18:59:49
chandler
Habe das leeren der Listbox (aktualisieren) so realisiert:
Private Sub ComboBox2_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
ListBox1.Clear
End Sub
Nochmals vielen Dank. chandler

AW: Erledigt
25.03.2013 19:50:06
Tino
Hallo,
setze dies doch einfach an den anfang von ComboBox1_Change und ComboBox2_Change
Gruß Tino

AW: Prima Idee
25.03.2013 21:36:58
chandler
Hallo Tino,
prima Idee. Ein paar Codezeilen eingespart.
Vielen Dank. Grüße chandler

AW: Prima Idee
25.03.2013 23:05:14
Tino
Hallo,
naja Codezeilen könntest Du noch einige sparen!
Den Code in den Combos könntest du z.Bsp. in eine Sub auslagern und diese
aus der Combo mit Call ... aufrufen.
Gruß Tino
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige