Anzeige
Archiv - Navigation
1204to1208
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
Combobox mit variabler Listfillrange
Martin
Ich habe ein Problem und Suche bereits seid anfang der Woche im Netz nach einer Lösung.
Im Prinzip soll durch die Auswahl in Combobox1 die Listfillrange in Combobox2 bestimmt werden.
Für Produkt 1 funktioniert das auch hervorragend, für alle weiteren Fälle bleibt die Combobox2 leer. Woraus ich darauf schließe das das Programm direkt nach Else springt und die ElseIf Punkte nicht bearbeiten kann.
Aber dort kann ich den Fehler nicht finden.
Private Sub ComboBox1_Change()
End Sub
Private Sub ComboBox2_Change()
Me.ComboBox2.Value = Format(Me.ComboBox2.Value, "DD.MM.YYYY")
End Sub
Private Sub ComboBox2_GotFocus()
If (ComboBox1.Value) = "Produkt1" Then
ComboBox2.ListFillRange = "Messwerte!A6:A100"
ElseIf (ComboBox1.Value) = "Produkt2" Then
ComboBox2.ListFillRange = "Messwert!F6:F100"
ElseIf (ComboBox1.Value) = "Produkt3" Then
ComboBox2.ListFillRange = "Messwert!K6:K100"
ElseIf (ComboBox1.Value) = "Produkt4" Then
ComboBox2.ListFillRange = "Messwert!P6:P100"
Else
ComboBox2.ListFillRange = ""
End If
End Sub
Ich hoffe auf eure Hilfe und bedanke mich im vorraus für eure mühe.

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

Betreff
Benutzer
Anzeige
AW: Combobox mit variabler Listfillrange
03.03.2011 13:27:10
Rudi
Hallo,
da bietet sich Select Case an.
Private Sub ComboBox2_GotFocus()
Select Case (ComboBox1.Value)
Case "Produkt1": ComboBox2.ListFillRange = "Messwerte!A6:A100"
Case "Produkt2": ComboBox2.ListFillRange = "Messwert!F6:F100"
Case "Produkt3": ComboBox2.ListFillRange = "Messwert!K6:K100"
Case "Produkt4": ComboBox2.ListFillRange = "Messwert!P6:P100"
Case Else:       ComboBox2.ListFillRange = ""
End Select
End Sub

Gruß
Rudi
AW: Combobox mit variabler Listfillrange
04.03.2011 08:38:24
Martin
Vielen Dank Rudi für die schnelle Antwort.
Ich habe das gerade ausprobiert nur leider mit keinem Erfolg.
Das Fehlerbild deckt sich mit der If Version.
Daraus schließe ich das der fehler nicht in diesem teil des Cood liegt.
Nur mal als Idee:
Gibt es unter dem Punkt Eigenschaften der Combobox, Einstellungen die mir die Funktion sabotieren?
Anzeige
lad die Mappe hoch. owT
04.03.2011 09:16:14
Rudi
AW: lad die Mappe hoch. owT
04.03.2011 10:07:56
Martin
Sorry
Würde ich machen aber ich befürchte das gibt dann ärger. Die Datei enthält Daten zu unseren Wareineingängen. Ich bitte um verständniss.
Ich habe die Comboboxen gelöscht und durch neue ersetzt die nun was die Einstellungen im Grundzustand sind.
Combobox1 enthält noch einen Eintrag zur Listfillrange und eine Linkedcell. Combobox2 nir eine Linkedcell.
Weiterhin liegt auf den betreffenden Tabellenblätter zur Zeit kein Schutz (auch wenn mich wundern würde wenn es daran liegt)
Ich hoffe das hilft weiter.
Gruß
Martin
dann hast du Pech.
04.03.2011 10:49:42
Rudi
Hallo,
stimmen die Produktbezeichnungen? Leerzeichen am Ende oder so?
Gruß
Rudi
Anzeige
AW: dann hast du Pech.
04.03.2011 14:43:22
Martin
Moin Rudi
Guter Einwand mit den kleinen Fehlern in der Produktbezeichnung. Um den auschließen zu können habe ich das mit einem Zellbezug auf den gleichen Uhrsprung versehen wo auch die Combobox1 ihre Listfillrange her bekommt.
Das ist nur leider nicht die Lösung des Problems.
Kann es sein das dieser Programmablauf nur einmal abläuft und damit das Suchergebnis aus der Combobox1 nie erneueret wird?
Dann müste es doch eine möglichkeit geben das Programm zu zwingen den Ablauf zu widerholen wenn in Combobox1 etwas geändert wird. (Nur mal die Gedanken eines Leihen)
Ich wünsche euch ein schönes Wochenende und viel vergnügen.
Gruß
Martin
Private Sub ComboBox1_Change()
End Sub

Private Sub ComboBox2_Change()
Me.ComboBox2.Value = Format(Me.ComboBox2.Value, "DD.MM.YYYY")
End Sub
Private Sub ComboBox2_GotFocus()
Select Case (ComboBox1.Value)
Case Sheets("Zusammenfassung").Range("A8"): ComboBox2.ListFillRange = "Messwerte!A6:A100"
Case Sheets("Zusammenfassung").Range("A9"): ComboBox2.ListFillRange = "Messwert!F6:F100"
Case Sheets("Zusammenfassung").Range("A10"): ComboBox2.ListFillRange = "Messwert!K6:K100"
Case Sheets("Zusammenfassung").Range("A11"): ComboBox2.ListFillRange = "Messwert!P6:P100"
Case Else:       ComboBox2.ListFillRange = ""
End Select
End Sub

Anzeige
AW: Combobox mit variabler Listfillrange
04.03.2011 20:24:33
Gerd
Hallo,
probiers mal so:
Private Sub ComboBox2_GotFocus()
ComboBox2.ListFillRange = ""
Select Case ComboBox1.Value
Case "Produkt1": ComboBox2.ListFillRange = "Messwerte!A6:A100"
Case "Produkt2": ComboBox2.ListFillRange = "Messwert!F6:F100"
Case "Produkt3": ComboBox2.ListFillRange = "Messwert!K6:K100"
Case "Produkt4": ComboBox2.ListFillRange = "Messwert!P6:P100"
End Select
End Sub
Gruß Gerd
AW: Combobox mit variabler Listfillrange
07.03.2011 11:19:54
Martin
Moin Zusammen
Vorweg vielen Dank an alle die sich die mühe gemacht haben sich ihren Kopf über meinem Problem zu zerbrechen.
Der Teufel ist ein Eichhörnchen!
Bestimmt 10 mal kontroliert ob die bezüge richtig sind und was ist in 3 Zeilen fehlt bei Messwerte das letzte "e".
Aber ein gutes hat das ganze. Bei so einer Aktion lernt man eine ganze menge über VBA :D
Bis denne und schönen Gruß
Martin
Anzeige

142 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige