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

Bitte um Hilfe bei Befüllen von ComboBoxen

Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 10:17:57
Josef
Hallo!
In einer Userform habe ich vier Comboboxen, welche ab der zweiten ComboBox immer abhängig von der vorigen ComboBox befüllt werden. (siehe Musterdatei)
Wenn ich jetzt in der ersten ComboBox Stoma aktiviere, danach in der zweiten ComboBox den ersten Wert aktiviere so werden in der dritten Combobox die Werte eingelesen.
Nehme ich jedoch in der zweiten comboBox den zweiten Wert so bleibt die dritte ComboBox leer.
Was würde hier im Code noch bitte fehlen bzw. warum werden die Daten nicht ordnungsgemäß eingelesen?
https://www.herber.de/bbs/user/33302.xls
Danke
Josef

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 10:28:01
Josef
Hallo nochmals!
Tut mir leid, die vorige Dateiversion hat sicher nicht funktioniert.
hier die angepasste Version.

Die Datei https://www.herber.de/bbs/user/33303.xls wurde aus Datenschutzgründen gelöscht

Josef
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 12:39:24
Josef
Frage noch offen
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 13:13:59
Uduuh
Hallo,
1. das: Workbooks("Muster_040506.xls") würde ich durch ThisWorkbook ersetzen, sonst läuft, wenn du die Datei umbenennst, gar nix mehr.
2. Wenn du On Error resume next drin hast, erschwert es nur die Fehlersuche, weil ja keiner mehr auftritt.
3. bei mir hat's funktioniert, nachdem ich 1. gemacht habe, weil die Datei jetzt 33303.xls heißt.
Gruß aus’m Pott
Udo

Anzeige
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 13:25:43
Josef
Hallo Uduuh!
Danke für Deine Antwort!
zu 1. entschuldige, war mein Fehler, klar das dann nichts passiert.
zu 3. wo hast du die 1. gemacht?
Bei mir werden nur die ersten 2 Comboboxen richtig befüllt. Ab der dritten habe ich meine Probleme.
Wenn ich in der zweiten Combobox den ersten We´rt aktiviere, funktioniert noch alles bestens.Die Werte werden in die dritte ComboBox eingelesen.
Wenn ich jedoch in der zweiten combobox den zweiten Wert aktiviere, so ist danach in der dritten ComboBox alles leer.
Ich kann es mir nur so vorstellen, weil der Wert Coloplast Assura in beihnahe allen Blöcken der ComoboBox 2 vorkommt. Daher liest er anscheinend nur den ersten gefundenen abhängigen Wert in die CB3 ein und zwar vom ersten Wert der CB2. Beim zweiten Wert in der CB2 wird aber alles ignoriert.
Das ist jetzt noch immer mein Problem.
Josef
Anzeige
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 13:30:51
Josef
Hallo Uduhh!
Habe jetzt
Workbooks("Muster_040506.xls")durch ThisWorkbook ersetzt, mein Problem ist leider jedoch immer noch dasselbe.
Josef
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 13:34:57
Josef
Habe jetzt On Error resume Next rausgenommen.
Jetzt erhalte ich beim Anklicken der 3. CB folgende Meldung:
"Dieser Schlüssel ist bereits einem Element dieser Auflistung zugeordnet."
Josef
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 14:06:30
Josef
Hallo Uduhh!
Wenn ich bei ersten ComboBox On Error Resume Next wegnehme, dann erhalte ich hier schon diese Fehlermeldung.
Kann dass ganz vielleicht an
Dim col As New Collection
scheitern?
Weil der Fehler in der ersten ComboBox erfolgt in dieser Zeile:
col.Add ThisWorkbook.Worksheets("Tabelle1").Cells(iRow, 1), ThisWorkbook.Worksheets("Tabelle1").Cells(iRow, 4)
Josef
Josef
Anzeige
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 14:51:16
u_
Hallo,
du hast einen Logikfehler drin. Du musst erst prüfen, ob die Nachbarzellen mit den vorhergehenden CBOs übereinstimmen und dann den Wert der Collection hinzufügen. Sonst kann es passieren, dass die Collection den Wert schon hat, obwohl dieser nicht mit den anderen CBOs korrespondiert. Dann bekommst du einen Fehler und der CBO wird nichts hinzugefügt. Außerdem musst du alle vorhergehenden CBOs checken und nicht nur die umnittelbar davor liegende.
Try this:

Private Sub cboNamen5_Enter()
Dim aRow, iRow As Long
Dim wks As Worksheet
Set wks = ThisWorkbook.Sheets("Tabelle1")
Dim col As New Collection
cboNamen5.Clear
aRow = IIf(IsEmpty(wks.Range("A65536")), wks.Range("A65536").End(xlUp).Row, 65536)
On Error Resume Next
For iRow = 2 To aRow
With wks
col.Add wks.Cells(iRow, 1), wks.Cells(iRow, 4)
If Err = 0 Then
cboNamen5.AddItem .Cells(iRow, 4)
Else
Err.Clear
End If
End With
Next iRow
On Error GoTo 0
'Call Sortieren_CboN5
End Sub


Private Sub cboNamen4_Enter()
Dim aRow, iRow As Long
Dim col As New Collection
Dim wks As Worksheet
Set wks = ThisWorkbook.Sheets("Tabelle1")
cboNamen4.Clear
aRow = IIf(IsEmpty(wks.Range("A65536")), wks.Range("A65536").End(xlUp).Row, 65536)
On Error Resume Next
For iRow = 2 To aRow
With wks
If .Cells(iRow, 4) = cboNamen5 Then
col.Add wks.Cells(iRow, 1), wks.Cells(iRow, 5)
If Err = 0 Then
cboNamen4.AddItem .Cells(iRow, 5)
Else
Err.Clear
End If
End If
End With
Next iRow
On Error GoTo 0
'Call Sortieren_CboN4
End Sub


Private Sub cboNamen2_Enter()
Dim aRow, iRow As Long
Dim col As New Collection
Dim wks As Worksheet
Set wks = ThisWorkbook.Sheets("Tabelle1")
cboNamen2.Clear
aRow = IIf(IsEmpty(wks.Range("A65536")), wks.Range("A65536").End(xlUp).Row, 65536)
On Error Resume Next
For iRow = 2 To aRow
With wks
If .Cells(iRow, 4) = cboNamen5 _
And .Cells(iRow, 5) = cboNamen4 Then
col.Add wks.Cells(iRow, 1), wks.Cells(iRow, 6)
If Err = 0 Then
cboNamen2.AddItem .Cells(iRow, 6)
Else
Err.Clear
End If
End If
End With
Next iRow
On Error GoTo 0
'Call Sortieren_CboN2
End Sub


Private Sub cboNamen3_Enter()
Dim aRow, iRow As Long
Dim wks As Worksheet
Set wks = ThisWorkbook.Sheets("Tabelle1")
Dim col As New Collection
cboNamen3.Clear
aRow = IIf(IsEmpty(wks.Range("A65536")), wks.Range("A65536").End(xlUp).Row, 65536)
On Error Resume Next
For iRow = 2 To aRow
With wks
If .Cells(iRow, 4) = cboNamen5 _
And .Cells(iRow, 5) = cboNamen4 _
And .Cells(iRow, 6) = cboNamen2 Then
col.Add wks.Cells(iRow, 1), wks.Cells(iRow, 7)
If Err = 0 Then
cboNamen3.AddItem .Cells(iRow, 7)
Else
Err.Clear
End If
End If
End With
Next iRow
On Error GoTo 0
'Call Sortieren_CboN3
End Sub

Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Anzeige
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 21:03:39
Josef
Hallo u_!
Ich danke dir herzlichst für Deine Lösung.Ist Perfekt.
Du hast mir mit Deiner hilfe sehr geholfen.
Bei der cboNamen3 mußte ich die "col" Zeilen ausser Kraft setzen, da in dieser ComboBox auch alle eventuell doppelt vorkommenden Werte angezeigt werden sollen.
Danke nochmals und schönen Abend noch.
Josef
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 21:32:54
Josef
Hallo u_!
Ich wollte gerade den code in der cboNamen3 so verändern, dass 2 Spalten in der comobox angezeigt werden.
Funktioniert jedoch leider nicht.
Wo habe ich da bitte den Fehler gemacht?

Private Sub cboNamen3_Enter()
Dim aRow   As Long
Dim iRow   As Long
Dim wks As Worksheet
Dim lCoBo  As Long
'Dim col    As New Collection
With cboNamen3
.Clear                           ' löschen ComboBox
.ColumnCount = 2                 ' drei Spalten
.ColumnWidths = "4,5 cm; 12,0 cm" ' Breite der Spalten
.ListRows = 4 '12                   ' angezeigte Zeilen
.Height = 20                     ' Höhe der ComboBox
.Font.Size = 8                  ' Schriftgröße
' .BackColor = RGB(204, 255, 204)  ' Hintergrundfarbe
End With
aRow = IIf(IsEmpty(wks.Range("A65536")), wks.Range("A65536").End(xlUp).Row, 65536)
On Error Resume Next
For iRow = 1 To aRow
With wks
If .Cells(iRow, 4) = cboNamen5 _
And .Cells(iRow, 5) = cboNamen4 _
And .Cells(iRow, 6) = cboNamen2 Then
'col.Add Workbooks("32648_3.xls").Worksheets("Tabelle1").Cells(iRow, 1), _
Workbooks("32648_3.xls").Worksheets("Tabelle1").Cells(iRow, 7)
If Err = 0 And _
wks.Cells(iRow, 6) = _
cboNamen2.Value Then
cboNamen3.AddItem ""
cboNamen3.List(lCoBo, 0) = _
wks.Cells(iRow, 8)
cboNamen3.List(lCoBo, 1) = _
wks.Cells(iRow, 7)
lCoBo = lCoBo + 1
Else
Err.Clear
End If
End If
End With
Next iRow
On Error GoTo 0
End Sub

Josef
Anzeige
AW: Bitte um Hilfe bei Befüllen von ComboBoxen
04.05.2006 21:38:41
Josef
Hallo!
Hat sich erledigt. Habe den Fehler gefunden.
Es fehlte Set wks = ThisWorkbook.Sheets("Tabelle1")
Danke nochmals.
josef

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige