Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Combobox mit mehreren Spalten vergleichen

Combobox mit mehreren Spalten vergleichen
22.11.2019 12:42:29
Stefan
Hallo zusamen,
ich habe ein kleines Problem.
Ich hab eine Combobox in der Produkte stehen (ich nenn sie einfach mal 1,2,3,4,5,...)
Es soll von dieser Combobox eine Listbox gefüllt werden.
Meine Tabelle ist so aufgebaut:
A: Datum
B: Kunde
D-Z: Produkte
Jetzt möchte ich, dass wenn ich in der Combobox1 das Produkt 2 auswähle, alle Kunden angezeigt werden, die dieses Produkt gekauft haben.
 With ListBox1
.Clear
.ColumnCount = 2
.ColumnWidths = "2,5cm;2cm"
With ThisWorkbook.Worksheets("verkauf") ' den Tabellenblattnamen ggf. anpassen!
For lZeile = 2 To .Cells(.Rows.Count, 3).End(xlUp).Row
If ComboBox1.Text = .Range("b" & lZeile).Value Then
ListBox1.AddItem " "
ListBox1.List(iLiBo, 0) = .Range("A" & lZeile).Value
ListBox1.List(iLiBo, 1) = .Range("b" & lZeile).Value
iLiBo = iLiBo + 1
End If
Next lZeile
End With
End With
Dieser Code funktioniert soweit, dass wenn in Spalte C das Produkt steht, dann wird der Kunde und das Datum angezeigt.
Wie müsste ich den Code erweitern, dass es auf für Spalte D-Z funktioniert?
Grüße
Stefan Hiemer
ps. wenn eine Beispieldatei benötigt wird, lade ich gern eine hoch.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Combobox mit mehreren Spalten vergleichen
22.11.2019 13:01:20
Nepumuk
Hallo Stefan,
teste mal:
Dim objCell As Range
Dim strFirstAddress As String
With ListBox1
    .Clear
    .ColumnCount = 2
    .ColumnWidths = "2,5cm;2cm"
    With ThisWorkbook.Worksheets("verkauf") ' den Tabellenblattnamen ggf. anpassen!
        Set objCell = .Columns("D:Z").Find(What:=ComboBox1.Text, _
            LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
        If Not objCell Is Nothing Then
            strFirstAddress = objCell.Address
            Do
                ListBox1.AddItem " "
                ListBox1.List(iLiBo, 0) = .Range("A" & lZeile).Value
                ListBox1.List(iLiBo, 1) = .Range("b" & lZeile).Value
                iLiBo = iLiBo + 1
                Set objCell = .Columns("D:Z").FindNext(After:=objCell)
            Loop Until objCell.Address = strFirstAddress
        End If
    End With
End With

Gruß
Nepumuk
Anzeige
AW: Combobox mit mehreren Spalten vergleichen
22.11.2019 13:07:52
Nepumuk
Hallo Stefan,
da ist noch ein Fehler drin:
Dim objCell As Range
Dim strFirstAddress As String
With ListBox1
    .Clear
    .ColumnCount = 2
    .ColumnWidths = "2,5cm;2cm"
    With ThisWorkbook.Worksheets("verkauf") ' den Tabellenblattnamen ggf. anpassen!
        Set objCell = .Columns("D:Z").Find(What:=ComboBox1.Text, _
            LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True)
        If Not objCell Is Nothing Then
            strFirstAddress = objCell.Address
            Do
                ListBox1.AddItem
                ListBox1.List(iLiBo, 0) = .Range("A" & objCell.Row).Value
                ListBox1.List(iLiBo, 1) = .Range("b" & objCell.Row).Value
                iLiBo = iLiBo + 1
                Set objCell = .Columns("D:Z").FindNext(After:=objCell)
            Loop Until objCell.Address = strFirstAddress
        End If
    End With
End With

Gruß
Nepumuk
Anzeige
AW: Combobox mit mehreren Spalten vergleichen
22.11.2019 13:15:28
Stefan
Hallo Nepumuk,
folgende drei Codezeilen werden sofort nach dem einfügen rot:
If Not objCell Is Nothing Then
Loop Until objCell.Address = strFirstAddress
        End if

und beim Versuch den Vorgang zu starten kommt der Fehler "Variable nicht definiert".
Gruß
Stefan
Anzeige
AW: Combobox mit mehreren Spalten vergleichen
22.11.2019 13:18:08
Nepumuk
Hallo Stefan,
lösch mal alles vor diesen Zeilen.
Gruß
Nepumuk
AW: Combobox mit mehreren Spalten vergleichen
22.11.2019 13:30:38
Stefan
Hallo Nepumuk,
manchmal bin ich ein bisschen ein schussel *g*
die Fehlermeldung mit der Variable kommt aber immer noch, sobald die Aktion gestartet wird.
Ich hab jetzt einmal die Datei mit hochgeladen, so gehts glaub einfacher.
Es geht um die UserForm_Anzeige.
https://www.herber.de/bbs/user/133375.xlsm
Danke schonmal bis hier und gruß
Stefan
Anzeige
AW: Combobox mit mehreren Spalten vergleichen
22.11.2019 13:52:52
Nepumuk
Hallo Stefan,
da läuft bei dir beim kopieren etwas schief. Hast du ein Programm laufen welches im Clipboard rumpfuscht?
Ich lade dir die Mappe lieber hoch: https://www.herber.de/bbs/user/133376.xlsm
Gruß
Nepumuk
AW: Combobox mit mehreren Spalten vergleichen
22.11.2019 15:08:28
Stefan
Hallo Nepumuk,
herzlichen dank jetzt läufts, aber gute Frage, welches Programm da reinpfuscht.
Danke nochmal und schönes Wochenende
Stefan
Anzeige
AW: Combobox mit mehreren Spalten vergleichen
22.11.2019 13:04:31
Piet
Hallo
du sprichst die Zellen mit Range an, benutze Cells, damit kannst du viel eleganter Programmieren!
ListBox1.List(iLiBo, 1) = .Cells(lZeile, 2).Value - entspricht - .Range("b" & lZeile).Value
Bei Cells gilt: .Cells(z, s) - zuerst z=Zeile, dann s=Spalte als Zahl oder Buchstabe, beides möglich!
Cells(1,1) ist somit Range("A1"), Cells(1,2) ist Range("B1") usw.
Mit diesem Wissen kannst du alls Spalten selbst in die ListBox hochladen. Stimmts?
mfg Piet
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige