Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
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

ListBox verhält sich nicht wie erwartet

ListBox verhält sich nicht wie erwartet
23.03.2017 14:53:00
Manuel
Hallo an alle die mitreden möchten,
Ich arbeite seit einigen Wochen an meinem ersten VBA Projekt. Bisher bin ich gut zurecht gekommen dank Google. Aber jetzt grade steh ich nen bisschen wie vor nem Wald ohne die Bäume zu sehen.
Ich poste mal den Code:

Public Sub Userform_Initialize()
lngLast = Worksheets(ActiveSheet.Name).Cells(Rows.Count, 2).End(xlUp).Row
If blnControl = True Then
For lngListbox = 0 To UserForm1.ListBox1.ListCount - 1
If UserForm1.ListBox1.Selected(lngListbox) = True Then
For iOp1 = 3 To lngLast
If Cells(iOp1, 2) = UserForm1.ListBox1.List(lngListbox, 0) And Cells(iOp1, 3) = UserForm1.  _
_
ListBox1.List(lngListbox, 1) Then
lngOperator = iOp1
End If
Next iOp1
End If
Next lngListbox
End If
If blnControl = False Then
lngRow = Application.Match(Druck.ComboBox1, Columns("B"), 0)
lngSystem = UserForm1.ComboBox2.ListIndex
lngOperator = lngRow + lngSystem
End If
For i = 0 To 4
UserForm3.ListBox1.AddItem
ListBox1.List(i, 0) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 9).Text
ListBox1.List(i, 1) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 10).Text
ListBox1.List(i, 0) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 11).Text
ListBox1.List(i, 1) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 12).Text
ListBox1.List(i, 0) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 13).Text
ListBox1.List(i, 1) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 14).Text
ListBox1.List(i, 0) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 15).Text
ListBox1.List(i, 1) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 16).Text
ListBox1.List(i, 0) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 18).Text
ListBox1.List(i, 1) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 19).Text
Next i
End Sub

Mein Problem ist, dass die ListBox jetzt 5mal den gleichen Eintrag zeigt und zwar den der letzten beiden .List- Zeilen.
Hat hier vllt jemand eine Idee Woran das liegen könnte?
Mit freundlichen Grüßen, der Manuel

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

Betreff
Datum
Anwender
Anzeige
AW: ListBox verhält sich nicht wie erwartet
23.03.2017 15:03:53
Daniel
H
naja, du überschreibst ja jeden der 4 Listbox-Zeilen immer wieder neu.
ich weiß ja nicht so genau, was jetzt wo in der Listbox erscheinen soll.
aber vielleicht so, wenn du eine Listbox mit 4 Zeilen und 2 Spalten haben willst und die Daten dafür nebeneinander in der Zeile lngOperator stehen:
For i = 0 To 4
UserForm3.ListBox1.AddItem
ListBox1.List(i, 0) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 9 + i * 2). _
Text
ListBox1.List(i, 1) = ThisWorkbook.Worksheets(ActiveSheet.Name).Cells(lngOperator, 10 + i * 2). _
Text
Next i
ansonsten ist es immer empfehlenswert, wenn der Code nicht mach was er soll, dass du dann nicht nur den nicht funktionierenden Code zeigst, sondern uns auch sagst, was der Code eigentlich machen soll.
gruß Daniel
Anzeige
AW: ListBox verhält sich nicht wie erwartet
23.03.2017 15:16:13
Manuel
Mmmhhhh ich versuche es mal zu erklären
ich habe in den Spalten 9,10;11,12;13,14;15,16;18,19 DatenPaare zu stehen. lngOperator macht die Zeile fest, die kann nämlich auf einer anderen UserForm ausgewählt werden.
Die ListBox soll jetzt also pro Zeile jeweils ein DatenPaar anzeigen. Wie ich schon erwähnt habe zeigt die ListBox mir aber nur das letzte DatenPaar an, das aber immerhin 5mal.
das ganze sollte etwa so aussehen:
Index0: (9);(10)
Index1: (11);(12)
Index2: (13);(14)
Index3: (15);(16)
Index4: (18);(19)
Wie meinst du das mit ich würde die Daten überschreiben? Kannst du mir das bitte näher erklären
Anzeige
AW: ListBox verhält sich nicht wie erwartet
23.03.2017 15:22:12
Daniel
Hi
naja, genau das hatte ich angenommen und meine Schleife entsprechend geschrieben.
wenns für dich einfacher ist, dann arbeite ohne Schleife und Additem, sondern erstelle ein Array und befülle dieses.
dieses Array kannst du dann der Listbox übergeben:
dim arr(0 to 4, 0 to 1)
with ActiveSheet
arr(0, 0) = .Cells(lngOperator, 9)
arr(0, 1) = .cells(lngOperator, 10)
arr(1, 0) = .cells(lngOperator, 11)
arr(1, 1) = .cells(lngOperator, 12)
arr(4, 0) = .cells(lngOperator, 18)
arr(4, 1) = .cells(lngOperator, 19)
End with
Listbox1.List = arr
Gruß Daniel
Anzeige
AW: ListBox verhält sich nicht wie erwartet
23.03.2017 15:32:25
Manuel
BÄÄÄÄÄHM
Aber hallo, es hat funktioniert.
Ich mach das noch nicht solange und an den begriff des Arrays hab ich mich bisher noch nicht rangetraut.
Danke vielmals für deine Hilfe!!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige