Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1376to1380
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
Inhaltsverzeichnis

ListIndex, nur der Reihe nach ???

ListIndex, nur der Reihe nach ?
15.08.2014 12:17:51
Jockel
Hallo,
muss noch mal nachfragen wegen dem folgenden Beispiel:
Möchte Datensätze, die aus einer Tabelle in eine Combobox geladen werden, per Klick in verschiedenen Textboxen auf einer Userform laden. Das funktionier soweit, solange ich die Reihenfolge mit dem Listindex schön einhalte (1,2,3 ....)
Nun wollte ich aber zB den Inhalt aus Spalte EK (141) laden in eine Textbox laden.
Sobald ich aber den Listindex 4 überpringe um zu der 141 zu kommen, kommt eine Fehlermeldung.
Darf es bei ListIndex keine Unterbrechungen geben, bzw. wie kann ich die Daten individuell in verschiedener Reihenfolge aus meiner Tabelle laden ?
Private Sub CB_GPNAME_Change()
With CB_GPNAME
If .ListIndex = -1 Then
Angelegt.Value = ""
Vorlage.Value = ""
Name.Value = ""
Else
Angelegt.Value = .List(.ListIndex, 1)
Vorlage.Value = .List(.ListIndex, 2)
Name.Value = .List(.ListIndex, 3)
End If
End With
End Sub

Danke
Jockel

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
kommt eine Fehlermeldung: welch? owT
15.08.2014 12:41:16
Rudi

ja, folgende ....
15.08.2014 12:58:02
Jockel
Laufzeitfehler -2147024809 (80070057)
Eigenschaft List konnte nicht aufgerufen werden, ungültiges Argument

AW: ja, folgende ....
15.08.2014 13:12:18
Rudi
Hallo,
ist die Cbx denn auch 4-Spaltig?
Gruß
Rudi

AW: ja, folgende ....
15.08.2014 13:21:42
Jockel
Hallo Rudi,
nein, die ist einspaltig, aber das funktioniert.
wie kommst du auf 4 ?
Gruß
Jockel

habe gerade folgendes festgestellt
15.08.2014 13:30:42
Jockel
...
Bei folgendem Beipiel kommt es ab ListIndex 10 zur gleichen Fehlermeldung.
Darf der Listindex nicht über 10 sein ?
Private Sub CB_GPNAME_Change()
With CB_GPNAME
If .ListIndex = -1 Then
TextBox14.Value = ""
TextBox15.Value = ""
TextBox16.Value = ""
TextBox17.Value = ""
TextBox18.Value = ""
TextBox19.Value = ""
TextBox20.Value = ""
TextBox21.Value = ""
TextBox22.Value = ""
TextBox23.Value = ""
Else
TextBox14.Value = .List(.ListIndex, 1)
TextBox15.Value = .List(.ListIndex, 2)
TextBox16.Value = .List(.ListIndex, 3)
TextBox17.Value = .List(.ListIndex, 4)
TextBox18.Value = .List(.ListIndex, 5)
TextBox19.Value = .List(.ListIndex, 6)
TextBox20.Value = .List(.ListIndex, 7)
TextBox21.Value = .List(.ListIndex, 8)
TextBox22.Value = .List(.ListIndex, 9)
TextBox23.Value = .List(.ListIndex, 10)
End If
End With
End Sub

Anzeige
AW: habe gerade folgendes festgestellt
15.08.2014 13:41:40
Rudi
Hallo,
wenn du schreibst .List(.listindex,X) dann muss es eine mehrspaltige, mit mindestens x+1 Spalten sein!!!
.List(x,y) ist ein 2-Dimensionales Array, beginnend bei 0. Kannst du dir wie einen Bereich (cells(Zeile, Spalte) vorstellen.
Außerdem kannst du besser mit der Column-Eigenschaft arbeiten.
statt
.List(.listindex,Spalte)
besser
.Column(spalte)
(erste Spalte=0 etc.)
Gruß
Rudi

AW: habe gerade folgendes festgestellt
15.08.2014 13:58:33
Ewald
Hallo,
könnte es sein das du die Liste mit Additem füllst, da ist bei 10 Spalten Schluß.
Gruß Ewald

AW: habe gerade folgendes festgestellt
15.08.2014 14:34:35
Jockel
Hallo,
habe es mal mit .Column(spalte) versucht, da habe ich aber das gleiche Problem.
Kann es sein, dass schon das einlesen das Problem ist ?
hier mal der ganze Code, komme so nicht weiter:
Also, so wie der Code unten steht, funktioniet er noch. Sobald ich aber beide Routinen um jeweils eine Zeite erweitere, kommt die Fehlermeldung. Ist das einlesen vielleicht auf 10 begrenzt ?
'Combo Füllen
Set WkSh = ThisWorkbook.Sheets(Tabelle1.Name)
With UserForm1.CB_GPNAME
.ColumnCount = 1
.ColumnWidths = ("2;0;0")
For lZeile = 2 To WkSh.Cells(WkSh.Rows.Count, 1).End(xlUp).Row
If WkSh.Range("B" & lZeile) "" Then
.AddItem WkSh.Range("B" & lZeile).Value
.List(.ListCount - 1, 1) = WkSh.Range("A" & lZeile).Value
.List(.ListCount - 1, 2) = WkSh.Range("B" & lZeile).Value
.List(.ListCount - 1, 3) = WkSh.Range("C" & lZeile).Value
.List(.ListCount - 1, 4) = WkSh.Range("D" & lZeile).Value
.List(.ListCount - 1, 5) = WkSh.Range("E" & lZeile).Value
.List(.ListCount - 1, 6) = WkSh.Range("F" & lZeile).Value
.List(.ListCount - 1, 7) = WkSh.Range("G" & lZeile).Value
.List(.ListCount - 1, 8) = WkSh.Range("H" & lZeile).Value
.List(.ListCount - 1, 9) = WkSh.Range("I" & lZeile).Value
End If
Next lZeile
End With
'Textboxen füllen
Private Sub CB_GPNAME_Change()
With CB_GPNAME
If .ListIndex = -1 Then
TextBox14.Value = ""
TextBox15.Value = ""
TextBox16.Value = ""
TextBox17.Value = ""
TextBox18.Value = ""
TextBox19.Value = ""
TextBox20.Value = ""
TextBox21.Value = ""
TextBox22.Value = ""
Else
TextBox14.Value = .List(.ListIndex, 1)
TextBox15.Value = .List(.ListIndex, 2)
TextBox16.Value = .List(.ListIndex, 3)
TextBox17.Value = .List(.ListIndex, 4)
TextBox18.Value = .List(.ListIndex, 5)
TextBox19.Value = .List(.ListIndex, 6)
TextBox20.Value = .List(.ListIndex, 7)
TextBox21.Value = .List(.ListIndex, 8)
TextBox22.Value = .List(.ListIndex, 9)
End If
End With
End Sub

Ich bin mir langsam auch nicht mehr sicher, ob ich nichr vielleicht hätte anders vorgehen müssen. letztendlich handelt es sich bei mir um ca 25 bis 30 Spalten, die ich aus eine Tabelle in die Textboxen laden will. Ist das nicht vielleicht ein bischen viel für so eine Combobox ?
Gruß
Jockel

Anzeige
AW: habe gerade folgendes festgestellt
15.08.2014 14:50:47
Rudi
Hallo,
per AddItem kannst du max. 10 Spalten haben.
Wenn B ohne Lücken gefüllt ist:
  With UserForm1.CB_GPNAME
.ColumnCount = 1
.ColumnWidths = ("2;0;0")
End With
With wkSh
'Liste A2:Lx
'für mehr Spalten Resize(, 12) anpassen
UserForm1.CB_GPNAME.List = _
.Range(.Cells(2, 2), .Cells(.Rows.Count, 2).End(xlUp)).Offset(, -1).Resize(, 12).Value
End With

Wenn nicht Liste erst in ein Array einlesen und dann der CBx zuweisen.
Gruß
Rudi

Danke, funktioniert owT
15.08.2014 18:16:07
Jockel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige