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

ListBox Zeilenweise füllen

ListBox Zeilenweise füllen
16.10.2007 13:45:00
edie
Hallo Zusammen,
nach Auswahl in der ComboBox aus der Spalte A sollen in der ListBox die Werte
Zeilenweise von Spalten B bis H engelesen werden.
Im Beispiel wird ader die ListBox Spaltenweise gefüllt.
Hier eine Beispiel-Datei der VBA-Code wurde übernommen von der excel-cd:
https://www.herber.de/bbs/user/46798.xls
Kann mir jemand helfen?
Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: ListBox Zeilenweise füllen
16.10.2007 16:25:00
fcs
Hallo edie,
dadurch, dass du beim Initialisieren der UF die doppelten Einträge in Spalte A nicht in die Combobox als Auswahl lädts, stimmt, Zeilenzählung der Tabelle und der Listbox nicht überein. Somit kannst du für das Füllen der Listbox mit den Daten aus Spalte B bis H nicht den Listindex der ComboBox verwenden.
User-Code wie folgt anpassen, dann klappt es.
Gruß
Franz

Option Explicit
Private Sub cboZeilen_Change()
Dim wks As Worksheet
Set wks = Worksheets("Tabelle1")
Dim Zelle As Range
With wks
Set Zelle = .Columns(1).Find(what:=cboZeilen.Value)
lstSource.List = _
WorksheetFunction.Transpose(.Range(.Cells(Zelle.Row, 2), .Cells(Zelle.Row, 8)))
End With
End Sub
Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim wks As Worksheet
Set wks = Worksheets("Tabelle1")
Dim col As New Collection
Dim iRow As Integer
iRow = 1
On Error Resume Next
With wks
Do Until IsEmpty(.Cells(iRow, 1))
col.Add .Cells(iRow, 1), .Cells(iRow, 1)
If Err = 0 Then
cboZeilen.AddItem .Cells(iRow, 1)
Else
Err.Clear
End If
iRow = iRow + 1
Loop
End With
On Error GoTo 0
cboZeilen.ListIndex = 0
End Sub


Anzeige
AW: ListBox Zeilenweise füllen
16.10.2007 16:25:00
fcs
Hallo edie,
dadurch, dass du beim Initialisieren der UF die doppelten Einträge in Spalte A nicht in die Combobox als Auswahl lädts, stimmt, Zeilenzählung der Tabelle und der Listbox nicht überein. Somit kannst du für das Füllen der Listbox mit den Daten aus Spalte B bis H nicht den Listindex der ComboBox verwenden.
User-Code wie folgt anpassen, dann klappt es.
Gruß
Franz

Option Explicit
Private Sub cboZeilen_Change()
Dim wks As Worksheet
Set wks = Worksheets("Tabelle1")
Dim Zelle As Range
With wks
Set Zelle = .Columns(1).Find(what:=cboZeilen.Value)
lstSource.List = _
WorksheetFunction.Transpose(.Range(.Cells(Zelle.Row, 2), .Cells(Zelle.Row, 8)))
End With
End Sub
Private Sub cmdAbbrechen_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim wks As Worksheet
Set wks = Worksheets("Tabelle1")
Dim col As New Collection
Dim iRow As Integer
iRow = 1
On Error Resume Next
With wks
Do Until IsEmpty(.Cells(iRow, 1))
col.Add .Cells(iRow, 1), .Cells(iRow, 1)
If Err = 0 Then
cboZeilen.AddItem .Cells(iRow, 1)
Else
Err.Clear
End If
iRow = iRow + 1
Loop
End With
On Error GoTo 0
cboZeilen.ListIndex = 0
End Sub


Anzeige
AW: ListBox Zeilenweise füllen
18.10.2007 21:30:03
edie
Hallo Franz,
war zwei Tage auf Dienstreise, deshalb jetzt die Antwort.
Vielen Dank, kann man das als mehspaltige ListBox einlesen?
Danke im Voraus.
Grüße

AW: ListBox Zeilenweise füllen
18.10.2007 21:47:29
edie
Hallo Franz,
habe das Problem gelöst durch weglassen: WorksheetFunction.Transpose
Grüße

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige