Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1108to1112
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
Einlesen in Combobox geht nicht mehr
Mandy
Hallo,
ich will zewi Comboboxen mit Daten aus der Spalte D (4) und N (14) füllen. Wen ich NUR die Spalte D einlesen will, funktioniert das noch, sobald ich aber die Spalte 14 (N) auch mit auslesen will, bekome ich eine Fehlermldung (ListIndex konnte nicht gesetzt werden)
Kann jemand sehen, warum ? hier mal der Code.
Mandy
'C_Verein Orte einlesen
Dim col As New Collection
Dim iRow As Integer
iRow = 4
On Error Resume Next
Do Until IsEmpty(Cells(iRow, 4))
col.Add Cells(iRow, 4), Cells(iRow, 4)
If Err = 0 Then
C_Verein.AddItem Cells(iRow, 4)
Else
Err.Clear
End If
iRow = iRow + 1
Loop
On Error GoTo 0
C_Verein.ListIndex = 0
'T_Ort einlesen
iRow = 14
On Error Resume Next
Do Until IsEmpty(Cells(iRow, 14))
col.Add Cells(iRow, 14), Cells(iRow, 14)
If Err = 0 Then
T_Ort.AddItem Cells(iRow, 14)
Else
Err.Clear
End If
iRow = iRow + 1
Loop
On Error GoTo 0
T_Ort.ListIndex = 0
AW: Einlesen in Combobox geht nicht mehr
17.10.2009 21:17:52
MichaV
Hallo,
das passiert z.B. wenn die Cb leer ist. Und das passiert wenn keine Werte eingelesen werden.
Sicher dass iRow = 14 stimmt?
Grusz- Micha
Aber warum werden keine Werte eingelesen ?..
17.10.2009 21:34:25
Mandy
Hi,
also generell scheint der Code richtig zu arbeiten, aber nur wenn ich die eine CB oder die andere CB fülen will.
Ich habe das getestet mit Ausklammern.
Aber warum ist es nicht möglich, beide zu fülen ?
Mandy
AW: Aber warum werden keine Werte eingelesen ?..
17.10.2009 21:50:33
MichaV
Bei mir funzt es mit beiden Boxen. Allerdings nur bei Texten. Wenn ich die CB mit Zahlen füllen will gehts nicht. Du sagst aber dass bei Dir beide Tabellen funktionieren, nur nicht zusammen. Keine Ahnug warum es bei Dir nicht geht. Oder liegts doch an den Zahlen?
Grusz- Micha
Anzeige
AW: Aber warum werden keine Werte eingelesen ?..
17.10.2009 22:04:08
Mandy
Hi,
nein, sind keine Zahlen, ist ganz normaler Text.
Mandy
AW: Aber warum werden keine Werte eingelesen ?..
17.10.2009 22:03:25
Peter
Hallo Mandy,
bei mir funktioniert dein Code einwandfrei - siehe Mustermappe: https://www.herber.de/bbs/user/65168.xls
Gruß Peter
@Peter
17.10.2009 22:06:18
MichaV
..sag ich doch :o)
Warum gehts eigentlich nicht wenn Du anstelle der Texte 1,2,3, und 4 untereinander schreibst?
Gruss- Micha
Nachtrag
17.10.2009 22:11:21
Peter
Hallo Mandy,
es funktioniert nicht mit Zahlen - nur mit Texten.
Füge einmal folgendes ein


If C_Verein.ListCount > 0 Then C_Verein.ListIndex = 0
If T_Ort.ListCount > 0 Then T_Ort.ListIndex = 0 }


Dann bekommst Du bei Zahlen leere ComboBoxes.
Gruß Peter
Anzeige
AW: Nachtrag
17.10.2009 22:12:51
Peter
Hallo Mandy,
natürlich ohne die } am Ende!
Gruß Peter
Hallo Echo
17.10.2009 22:16:56
MichaV
...es würde reichen da On Error Goto 0 eine Zeile tiefer zu schreiben. Aber das löst das Problem nicht. Es geht darum WARUM die Box nicht gefüllt wird.
Ich habe wirklich nur Text, keine Zahlen
17.10.2009 22:24:53
Mandy
AW: Ich habe wirklich nur Text, keine Zahlen
17.10.2009 22:28:48
MichaV
na dann schlage ich vor dass Du die Tabelle hier mal hochlädst. Kannst die Vereinsnamen ja durch andere Texte ersetzen.
Bin gespannt wann Peter mit dem Vorschlag kommt....
Gruss- Micha
@ MichaV
17.10.2009 22:55:57
Peter
Hallo Micha,
hier ist meine Test-Datei: Zahlen kommen nicht, Texte kommen einwandfrei.
https://www.herber.de/bbs/user/65171.xls
Gruß Peter
PS Wenn man allerdings Zeile 14 schreibt, sollte dort auch etwas eingetragen sein.
Anzeige
AW: @ MichaV
17.10.2009 22:58:02
MichaV
Peter, ich weiss das Zahlen nicht kommen. Aber WARUM ist das so?
AW: @ MichaV
18.10.2009 10:24:02
Peter
Hallo Micha,
das weiß ich leider auch nicht.
Wenn man die Zahlen aber mit CStr - also col.Add CStr(Cells(iRow, 4)), CStr(Cells(iRow, 4)) -
überträgt, kommen sie zumindest an.
Ob man damit rechnen kann, habe ich nicht geprüft.
Mit CDbl(C_Verein.Text) erscheinen sie jedenfalls rechtbündig in der Zelle.
Gruß Peter
AW: Ich habe wirklich nur Text, keine Zahlen
17.10.2009 22:32:31
Gerd
Hallo Mandy,
lade deine Datei oder eine Beispielsdatei , in der der Fehler auftritt, hoch.
Gruß Gerd
AW: Hier das Beispiel
17.10.2009 22:40:52
MichaV
Sicher dass iRow = 14 stimmt?
Hier die Erklärung
17.10.2009 22:42:54
MichaV
....das Problem wurde in der 1. Antwort gelöst. Die 14 ist falsch, denn in Zeile 14 stehe in Spalte N keine Werte, also bleibt die Tabelle leer, also kommt der Fehler.
So, nun fehlen noch die Antworten von Peter und Gerd
Gruss- Micha
AW: iRow = 4
17.10.2009 22:41:59
Gerd
sollte das Problem beheben, Mandy.
Gruß Gerd
AW: iRow = 4
17.10.2009 22:47:22
Mandy
Hi,
stimmt das war mein Fehler, sollte nicht 14, sondern 4 sein, aber Dummerweise habe ich da genau das Gleiche Problem.
Mandy
AW: iRow = 4
17.10.2009 23:01:02
Mandy
Hi,
Dein Beispiel funktoniert bei mir, ich habe dann Dein Code wieder bei mir reinkopiert , da kommt aber wieder der Fehler, grrrrrr
Mandy
Dann liegts an Deinen Daten.
17.10.2009 23:05:57
MichaV
Mandy, ich hab Dir Deine Tabelle geschickt, nur die 1 vor der 4 gelöscht. Wenn das bei Dir funktioniert, arbeite mit "meiner" Tabelle weiter. Oder der Fehler liegt in Deinen Daten, sollten diese anders sein. Beispiel tatsächlich genau so wie Original?
@Gerd: Danke!
@Peter: hat sich erledigt :o)
Gruss- Micha
AW: iRow = 4
17.10.2009 22:59:45
Gerd

Private Sub UserForm_Initialize()
Dim col As New Collection
Dim iRow As Integer
iRow = 4
On Error Resume Next
Do Until IsEmpty(Cells(iRow, 4))
col.Add Cells(iRow, 4), Cells(iRow, 4)
If Err = 0 Then
C_Verein.AddItem Cells(iRow, 4)
Else
Err.Clear
End If
iRow = iRow + 1
Loop
On Error GoTo 0
C_Verein.ListIndex = 0
iRow = 4
On Error Resume Next
Do Until IsEmpty(Cells(iRow, 5))
col.Add Cells(iRow, 14), Cells(iRow, 14)
If Err = 0 Then
T_Ort.AddItem Cells(iRow, 14)
Else
Err.Clear
End If
iRow = iRow + 1
Loop
On Error GoTo 0
T_Ort.ListIndex = 0
End Sub
Hallo Mandy, das ist in deiner Beispielsdatei für mich nicht nachvollziehbar.
@Micha: Bei Zahlen beim Col.Add um Key und Item CStr(.....) schreiben.
Grüße Gerd
Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige