Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
272to276
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
272to276
272to276
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox

ComboBox
24.06.2003 11:49:14
Florian
Hallo zusammen,
ich weiß, dass es schon 100 Leute gefragt haben, aber ich finde es trotzdem nicht mehr in der Recherche:
Ich möchte in eine Combobox Werte hinzufügen, aber vermeiden, dass es zu doppelten einträgen kommt.
Mein Code lautet folgendermaßen (incl. doppelte)

Private Sub ComboBox2_Change()
UserForm1.ComboBox3.Clear
Dim i As Integer
For i = 3 To 100
If UserForm1.ComboBox2.Text = ActiveSheet.Range("b" & i).Value Then
ComboBox3.AddItem ActiveSheet.Cells(i, 3)
End If
Next i
End Sub
Könnte mir bitte jemand helfen, dieses Problem zu lösen?
Gruß aus Aachen,
Florian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: ComboBox
24.06.2003 11:54:16
sergiesam

Hi,

lass mich das kurz erläutern, ob ich dich richtig verstanden habe:

1) du hast 2 comboboxen (combobox2 und 3)
2) du gibts einen wert in combobox2 ein
3) wenn dieser wert in der liste von b3:b100 gefunden wird,
4) wird er in Combobox3 angefügt.

und du willst nun, dass keine doppelten werte eingetragen werden.
Stimmts soweit?
Sam

Re: ComboBox
24.06.2003 11:56:50
Florian

Hallo Sam,
das ist soweit korrekt. der Code funktioniert auch, aber es werden eben alle Inhalte von Spalte b eingefügt und nicht, so wie ich möchte, jeder auftauchende Wert nur einmal.
Gruß,
Florian

Re: ComboBox
24.06.2003 12:06:22
sergiesam

Hi,

bau einfach eine zusätzliche kontrolle ein:



Anzeige
Re: ComboBox
24.06.2003 12:26:49
Florian

Hallo Sam,
ich glaube, ich hab zu schnell gesagt, dass du es richtig verstanden hast.
Ich habe eine Tabelle mit 4 Spalten, ein Userform mit 3 ComboBoxen.
Ich lese Combo1 automatisch ein über:
Private Sub UserForm_Initialize()
Dim col As New Collection
Dim irow As Integer
irow = 3
On Error Resume Next
Do Until IsEmpty(ActiveSheet.Cells(irow, 1))
col.Add ActiveSheet.Cells(irow, 1), ActiveSheet.Cells(irow, 1)
If Err = 0 Then
ComboBox1.AddItem ActiveSheet.Cells(irow, 1)
Else
Err.Clear
End If
irow = irow + 1
Loop
On Error GoTo 0
ComboBox1.ListIndex = 0
End Sub
danach wähle ich ein Item in ComboBox2 aus und möchte, dass hierauf in Combobox3 nur die, in Spalte C meiner Tabelle stehenden Werte, die die eigenschaften aus ComBo1 und 2 erfüllen, ohne doppelte Nennungen erscheinen.
Mein in der Zwischenzeit entstandender Code sieht s.u. aus,
nimmt auch keine doppelten mehr, aber dafür alle in Spalte C auftauchenden werte.?
Danke, dass Du überhaupt antwortest,
Florian

Private Sub ComboBox2_Change()
UserForm1.ComboBox3.Clear
Dim i As Integer
For i = 3 To 100
If UserForm1.ComboBox2.Text = ActiveSheet.Range("b" & i).Value Then
Dim col As New Collection

On Error Resume Next
Do Until IsEmpty(ActiveSheet.Cells(i, 3))
col.Add ActiveSheet.Cells(i, 3), ActiveSheet.Cells(i, 3)
If Err = 0 Then
ComboBox3.AddItem ActiveSheet.Cells(i, 3)
Else
Err.Clear
End If
i = i + 1
Loop
On Error GoTo 0
End If
Next i
End Sub

Anzeige
Re: ComboBox
24.06.2003 12:52:19
Florian

Hallo Sam,
ich habs gefunden. war einfach eine Schleife zuviel.
Danke für Deine Mühe!
Gruß aus Aachen,
Florian


Private Sub ComboBox2_Change()
UserForm1.ComboBox3.Clear
Dim i As Integer
For i = 3 To 100
If UserForm1.ComboBox2.Text = ActiveSheet.Range("b" & i).Value Then
Dim col As New Collection

On Error Resume Next
col.Add ActiveSheet.Cells(i, 3), ActiveSheet.Cells(i, 3)
If Err = 0 Then
ComboBox3.AddItem ActiveSheet.Cells(i, 3)
Else
Err.Clear
End If
On Error GoTo 0
End If
Next i
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige