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

VBA

VBA
15.01.2014 14:48:27
Markus
Hey bin neu hier und bräuchte mal eure hilfe. Also ich habe 2 ComboBoxen, die eine für den Hersteller, die andere für das Produkt. Ich hab die beiden ComboBoxen nun gefüllt mit der Datenbank von meiner Exceltabelle. Soweit so gut, nun will ich noch den dazugehörigen Preis in eine Listbox füllen. Da ich den code nur kopiert habe passt er nicht richtig dazu. Er setzt alles was in der zelle oder spalte geschrieben ist in die combobox. Ich will aber nur das er einen bestimmten bereich in die comboboxen nimmt.
Ich hoffe ihr versteht das ich mein:). Helft mir!!
Mein code:

Private Sub ComboBox1_Change()
Dim spalte As Integer, zeile As Integer
ComboBox2.Clear
spalte = ComboBox1.ListIndex + 1
zeile = 2
While Sheets("Schaltung").Cells(zeile, spalte)  ""
ComboBox2.AddItem Sheets("Schaltung").Cells(zeile, spalte)
zeile = zeile + 1
Wend
ComboBox2.ListIndex = 0
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub CommandButton2_Click()
Sheets("Kaufliste").Range("b2") = ComboBox1
Sheets("Kaufliste").Range("c2") = ComboBox2
End Sub
Private Sub Label1_Click()
End Sub
Private Sub UserForm_Initialize()
Dim spalte As Integer
spalte = 1
While Sheets("Schaltung").Cells(1, spalte)  ""
ComboBox1.AddItem Sheets("Schaltung").Cells(1, spalte)
spalte = spalte + 1
Wend
ComboBox1.ListIndex = 0
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Unload Me
End Sub

Meine exeltabelle:
A-----------------------------B
1Shimano-------------------SRAM
2XT M780 Gruppe 3x1-----X01 Gruppe 11s Gripshift
3180 €---------------------120 €

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA
15.01.2014 17:09:45
Dirk
Hallo MArkus,
was genau soll denn aus den Zellen in die Kombobox uebernommen werden?
Gruss
Dirk aus Dubai

AW: VBA
15.01.2014 18:39:38
Markus
Hallo dirk, der hersteller und das produkte werden aus meiner exceltabelle in die comboboxen gefüllt. Also wenn ich den hersteller in meiner ersten combobox auswähle, kommt in der 2 combobox das dazugehörige produkt, was mit dem code auch super klappt. Jetzt will ich aber noch den dazugehörigen preis(der in der gleichen excel tabellesteht unter dem produkt steht)in eine Listbox füllen und das kann ich nicht weil der code hier alles unter zeile 2 in die combobox 2 einträgt. Wie mach ich das jetzt am besten, wie bekomme ich das hin, das nur die zeile 2 in die combobox 2 gelangt und ich nicht die zusammengehörigkeit zwischen dem hersteller dem produkt und dem preis verliere. Bin absoluter anfänger;).
Private Sub ComboBox1_Change()
Dim spalte As Integer, zeile As Integer
ComboBox2.Clear
spalte = ComboBox1.ListIndex + 1
zeile = 2
While Sheets("Schaltung").Cells(zeile, spalte)  ""
ComboBox2.AddItem Sheets("Schaltung").Cells(zeile, spalte)
zeile = zeile + 1
Wend
ComboBox2.ListIndex = 0
End Sub

Anzeige
AW: VBA
16.01.2014 13:34:29
Dik
Hallo Markus,
probier das mal mit folgendem, angepassten Makro (Ich hab da jetzt Listbox1 genommen. Du musst da den Namen der Listbox nehmen, in welche Du die Preise einsetzen moechtest.)
Private Sub ComboBox1_Change()
Dim spalte As Integer, zeile As Integer
ComboBox2.Clear
spalte = ComboBox1.ListIndex + 1
zeile = 2
While Sheets("Schaltung").Cells(zeile, spalte)  ""
if Zeile=2 then
Listbox1.additem Sheets("Schaltung").Cells(zeile, spalte)
else
ComboBox2.AddItem Sheets("Schaltung").Cells(zeile, spalte)
end if
zeile = zeile + 1
Wend
ComboBox2.ListIndex = 0
End Sub

Lass' hoeren, ob ok.
Gruss
Dirk aus Dubai

Anzeige
AW: VBA Korrektur
16.01.2014 17:08:05
Dirk
Hallo nochmal,
war da vorhin etwas unkonzentriert. Hier mal korrigiert:
Private Sub ComboBox1_Change()
Dim spalte As Integer, zeile As Integer
ComboBox2.Clear
spalte = ComboBox1.ListIndex + 1
zeile = 2
While Sheets("Schaltung").Cells(zeile, spalte)  ""
if zeile=2 then
ComboBox2.AddItem Sheets("Schaltung").Cells(zeile, spalte)
end if
zeile = zeile + 1
Wend
ComboBox2.ListIndex = 0
End Sub
Lass' hoeren, ob ok.
Dirk aus Dubai

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige