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

Einträge in einer Combobox

Einträge in einer Combobox
18.08.2016 20:45:34
Marcus
Hallo zusammen,
ich habe ein Problem. Ich habe eine Userform mit 2 Comboboxen. Die eine ist mit Einträgen per .Additem Befehl gfefüllt. Wenn ich einen Eintrag wähle, sollen die entsprechenden Einträge, die in einer Spalte in einem Tabellenblatt sind, die 2. Combobox füllen. Also wenn Milchprodukte in der 1. Combobox gefällt wurde, soll sich die 2. Combobox mit Text der im Tabellenblatt steht füllen, also mit z.B. Spalte B, wo alle Milchprodukte aufgelistet sind und nicht mit Spalte C wo die Fleischprodukte aufgelistet sind. Ich möchte auch keine Range angeben, da weitere Produkte hinzukommen können.
Könnt ihr mir hier weiterhelfen?
Vielen Dank. Marcus

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
mit Do Until und Loop ...
19.08.2016 05:44:27
Matthias
Hallo Marcus
Wenn Deine Produktliste z.B. so aufgebaut ist:
Tabelle1

 ABCDE
1MilchprodukteFleischprodukteGemüseProdukt4Produkt5
2Milch1Fleisch1Gemüse1Produkt ABCProd 5.1
3Milch2Fleisch2Gemüse2Produkt BCDProd 5.2
4Milch3Fleisch3Gemüse3 Prod 5.3
5Milch4Fleisch4Gemüse4 Prod 5.4
6Milch5Fleisch5Gemüse5 Prod 5.5
7Milch6Fleisch6Gemüse6 Prod 5.6
8Milch7Fleisch7Gemüse7 Prod 5.7
9Milch8Fleisch8  Prod 5.8
10Milch9Fleisch9  Prod 5.9
11 Fleisch10  Prod 5.10
12 Fleisch11  Prod 5.11
13 Fleisch12  Prod 5.12
14 Fleisch13   
15 Fleisch14   
16     


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8


Folgenden Code ins UserForm:
Option Explicit Private Sub UserForm_Activate() Dim x& Const MyRow = 1 With UserForm1 .ComboBox1.Clear x = 1 Do Until Cells(MyRow, x) = "" .ComboBox1.AddItem Cells(MyRow, x) x = x + 1 Loop End With End Sub Private Sub ComboBox1_Change() Dim x&, MyCol& With UserForm1 .ComboBox2.Clear MyCol = .ComboBox1.ListIndex + 1 x = 2 Do Until Cells(x, MyCol) = "" .ComboBox2.AddItem Cells(x, MyCol) x = x + 1 Loop End With End Sub Hier die Datei:
https://www.herber.de/bbs/user/107706.xlsm
Gruß Matthias
Anzeige
Nachtrag zur ComboBox1 ...
19.08.2016 08:41:24
Matthias
Hallo
Da muss noch eine Abfrage mit rein.
If MyCol 

also komplett dann so:
Private Sub ComboBox1_Change()
Dim x&, MyCol&
With UserForm1
.ComboBox2.Clear
MyCol = .ComboBox1.ListIndex + 1
If MyCol 
Gruß Matthias
AW: Nachtrag zur ComboBox1 ...
20.08.2016 11:00:41
Marcus
Vielen Dank für die schnelle Hilfe, nur habe ich noch ein Problem, der Code funktioniert bei mir nicht. Liegt es vielleicht daran, dass ich 2 Tabellenblätter habe und den Button auf einem anderen Tabellenblatt wie der Inhalt?
AW: Nachtrag zur ComboBox1 ...
20.08.2016 11:00:58
Marcus
Vielen Dank für die schnelle Hilfe, nur habe ich noch ein Problem, der Code funktioniert bei mir nicht. Liegt es vielleicht daran, dass ich 2 Tabellenblätter habe und den Button auf einem anderen Tabellenblatt wie der Inhalt?
Anzeige
richtig erkannt ...
20.08.2016 12:08:24
Matthias
Hallo
Du musst überall wo Cells steht den Blattnamen davorsetzen
Also z.B. so mit dem CodeNamen der Tabelle

Do Until Tabelle1.Cells(MyRow, x) = ""
x = x + 1
Loop
oder so mit dem Registerblattnamen der Tabelle
  Do Until WorkSheets("Tabelle1").Cells(MyRow, x) = ""
x = x + 1
Loop
Also die Tabelle ansprechen in denen die Werte stehen.
Gruß Matthias
AW: richtig erkannt ...
20.08.2016 13:19:34
Marcus
Super, vielen Dank, funktioniert. Vielen vielen Dank euch.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige