Anzeige
Archiv - Navigation
304to308
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
304to308
304to308
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox ohne doppelte Werte

ComboBox ohne doppelte Werte
10.09.2003 09:00:18
Lutz
Guten Morgen,

ich habe 2 ComboBoxen, wobei der Inhalt der zweiten von der Auswahl in Combobox1 abhängig ist.
Der Wert der CB1 wird in ANT! Zeile3 gesucht und die in der gefundenen Spalte stehenden Werte in CB2 eingelesen (ohne doppelte).

Mein Problem: Es funktioniert nur bei den Spalten, in denen Text steht, bei Spalten mit Zahlen wird nichts in CB2 eingelesen.

Weiß jemand, woran das liegt ?

Danke im voraus
Lutz



Private Sub ComboBox1_Click()
Dim col As New Collection

cRow = [C65536].End(xlUp).Row
Set cb1 = Worksheets("ANT").Rows(3).Find(ComboBox1.Value, lookat:=xlWhole, LookIn:=xlValues)
cbCol = cb1.Column
For i = 5 To cRow
    On Error Resume Next
    col.Add Cells(i, cbCol), Cells(i, cbCol)
    If Err = 0 Then
        ComboBox2.AddItem Cells(i, cbCol)
    Else
        Err.Clear
    End If
Next iZeile
End Sub

     Code eingefügt mit Syntaxhighlighter 2.1

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

Betreff
Datum
Anwender
Anzeige
AW: ComboBox ohne doppelte Werte
10.09.2003 11:09:17
ChrisL
Hi Lutz

Vielleicht kannst du das ganze ja mal als Beispieldatei anfügen. Das ganze nachzubauen ist mir ein bischen zu blöd ;-)

Was mir aufgefallen ist...

For i = ...

Next iZeile

Sowieso würde ich alle Variablen sauber deklarieren und Option Explicit verwenden.

Evtl. das ganze mal im Einzelschrittmodus prüfen... happerts beim Find oder bei col.Add oder wo?

Evtl. Zahlen erst in einen String übergeben und so einlesen.

Gruss
Chris
AW: ComboBox ohne doppelte Werte
10.09.2003 11:37:49
Lutz
Hallo Chris,

im Einzelschritt springt er auf Else Err.Clear, da Err<>0. Warum, weiß ich nicht.
Hier mal eine Beispieldatei.

https://www.herber.de/bbs/user/969.xls

Gruß
Lutz
Anzeige
Cstr
10.09.2003 12:05:25
ChrisL
Hi Lutz

Option Explicit


Private Sub ComboBox1_Click()
Dim col As New Collection
Dim cRow As Long, cbCol As Byte, i As Byte
Dim cb1 As Object
Dim WS As Worksheet
Set WS = Worksheets("ANT")
cRow = [C65536].End(xlUp).Row
ComboBox2.Clear
For Each cb1 In WS.Range("A1:E1")
If cb1 = ComboBox1 Then Exit For
Next cb1
cbCol = cb1.Column
For i = 2 To cRow
On Error Resume Next
col.Add CStr(WS.Cells(i, cbCol)), CStr(WS.Cells(i, cbCol))
If Err = 0 Then
ComboBox2.AddItem CStr(WS.Cells(i, cbCol))
Else
Err.Clear
End If
Next i
End Sub



Private Sub UserForm_Initialize()
Dim a As Byte
ComboBox1.AddItem ""
For a = 1 To 5
ComboBox1.AddItem Sheets("ANT").Cells(1, a)
Next a
End Sub


Die Suchfunktion habe ich geändert, da es bei mir in Excel 97 zu Fehlern geführt hat. Ansonsten besteht die Lösung im Cstr, was den Wert in einen String umwandelt.

Gruss
Chris
Anzeige
Vielen Dank, funktioniert super! oT
10.09.2003 12:14:42
Lutz

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige