Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UserForm: Combobox bedingte Einträge in Dropdown

Forumthread: UserForm: Combobox bedingte Einträge in Dropdown

UserForm: Combobox bedingte Einträge in Dropdown
18.03.2003 19:10:46
Christoph
Hallo allerseits,
ihr habt mir zu diesem Thema schon mal geholfen, aber mein Problem gestaltet sich mittlerweile etwas anders. Im Archiv konnte ich bislang auch keine passende Antwort finden.

Folgendes Problem:
Ich habe zwei Comboboxes. In der ersten sollen die Werte aus Tabelle1, SpalteA im Dropdown erscheinen. In Spalte A kommen verschiedene Werte mehrfach vor. Des weiteren gibt es hier auch Leerzellen. Im Dropdown von ComboBox1 sollen die Werte jedoch nur einmal erscheinen und die Leerzellen sollen ignoriert werden.

Soweit, sogut, das funktioniert. (siehe untenstehenden Code)

Jetzt zu ComboBox2:
Für jede Auswahl in ComboBox1 sollen in ComboBox2 die passenden Werte aus Spalte B im Dropdown zur Auswahl stehen.
Mit Case und SourceRow komme ich hier nicht weiter, denn ich kann die Anzahl der Cases und den SourceRow-Bereich nicht vorhersagen. Die Anzahl der Einträge in Spalte A und B können sich ändern. Mit AddItem bin ich an der Stelle schlichtweg überfordert. (Das Problem sitzt mal wieder zwischen der Tastatur und dem Stuhl)

Bsp:
SpalteA--------SpalteB

A-------------------O1
A-------------------O2
A-------------------O3
A-------------------O4

B-------------------U1
B-------------------U2

C-------------------E1

X-------------------F1
X-------------------F2


Hier mein funktionierender Code für die Auswahl in ComboBox1:

Option Explicit

Private Sub UserForm_Initialize()

Dim c As Long
Dim i As Long
Dim r%

r = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row

With Me

For c = 1 To r
i = c + 1
If Sheets("Tabelle1").Cells(i, 1) <> Sheets("Tabelle1").Cells(c, 1) _
And Sheets("Tabelle1").Cells(i, 1) <> "" Then
With .ComboBox1
.AddItem Sheets("Tabelle1").Cells(i, 1)
End With
End If
Next c
End With

' Die erste Zeile wird auf diese Art nicht als Item erfasst. Dies ist hier gewollt,
' da in der ersten Zeile die Spalten-Überschrift steht.

End Sub

und wie geht's jetzt weiter für ComboBox2???


Kann mir jemand helfen?
ich wäre euch sehr dankbar - ich sitz' schon den halben Tag an dem Problem

Gruß
Christoph



Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: UserForm: Combobox bedingte Einträge in Dropdown
18.03.2003 19:57:55
Klaus-Dieter
Hallo Christoph,

mit diesem Quelltext geht es:


Option Explicit
Private Sub ComboBox1_Change()
Dim ze As String
Dim r As Integer
ComboBox2.Clear
ze = ComboBox1.Text
For r = 2 To Range("A65536").End(xlUp).Row
If Sheets("Tabelle1").Cells(r, 1) = ze Then
With ComboBox2
.AddItem Sheets("Tabelle1").Cells(r, 2)
End With
End If
Next r
End Sub

Code eingefügt mit: Excel Code Jeanie

Du mußt ihn mit der ComboBox1 verbinden, da er durch das Change-Ereignis dieser ComboBox ausgelöst wird.

Gruß Klaus-Dieter
Klaus-Dieter's Excel und VBA Seite

Anzeige
Super, merci
18.03.2003 20:14:41
Christoph
Hi Klaus-Dieter,
Das ist genial!!!

Was mir noch auffällt:
ist "Range("A65536").End(xlUp).Row" genauso gut wie "Cells(Rows.Count, 1).End(xlUp).Row" ?

"Row.Count" ist ja die Anzahl der Zeilen, insofern dürfte es keinen Unterschied machen.

Ist deine Variante evt. schneller?

Danke nochmals
Christoph

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

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