mreske
Goto Top

Listbox mit Suchanfragen-Ergebnisse mit mehr als 9 Spalten befüllen

Hallo
ich möchte eine Listbox mit Ergebnissen aus einer Suchanfrage (txtSuche) befüllen.
Von den Treffern möchte ich alle Spalten aus der Quelldatei (tbl_Quelle.xlsx) in die Listbox (lstTreffer) übergeben.
Bei der .Additem lassen sich aber nur max. 9 Spalten übergeben.
Wie müsste ich den u.a. Code ändern, um alle Spalten auszugeben?

Private Sub txtSuche_Change()
Application.ScreenUpdating = False

Dim appExcel As Excel.Application
Dim wbkExcel As Excel.Workbook
Dim wksExcel As Excel.Worksheet
Dim rngExcel As Excel.Range
Dim rngCell As Range
Dim strFirstAddress As String
Dim Suchwort As String
 
Set appExcel = Excel.Application
Set wbkExcel = Excel.Workbooks.Open("C:\VBA\Test\tbl_Quelle.xlsx", ReadOnly:=True)  
Set wksExcel = Excel.Worksheets("Quelle")  
Set rngExcel = wksExcel.UsedRange

Suchwort = ("*" & Me.txtSuche.Value & "*")  

With wksExcel.Range("C:C")  
Me.lstTreffer.Clear
Set rngExcel = .Find(Suchwort, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngExcel Is Nothing Then
strFirstAddress = rngExcel.Address
Do
With Me.lstTreffer
.ColumnCount = 10
.AddItem
.List(.ListCount - 1, 1) = rngExcel.Offset(0, -1).Value
.List(.ListCount - 1, 2) = rngExcel.Offset(0, -2).Value
.List(.ListCount - 1, 3) = rngExcel.Offset(0, 3).Value
.List(.ListCount - 1, 4) = rngExcel.Offset(0, 4).Value
.List(.ListCount - 1, 5) = rngExcel.Offset(0, 5).Value
.List(.ListCount - 1, 6) = rngExcel.Offset(0, 6).Value
.List(.ListCount - 1, 7) = rngExcel.Offset(0, 7).Value
.List(.ListCount - 1, 8) = rngExcel.Offset(0, 8).Value
.List(.ListCount - 1, 9) = rngExcel.Offset(0, 9).Value
'.List(.ListCount - 1, 10) = rngExcel.Offset(0, 10).Value 'hier kommt eine Fehlermeldung  

End With
Set rngExcel = .FindNext(rngExcel)
Loop While Not rngExcel Is Nothing And rngExcel.Address <> strFirstAddress
Else
End If
End With
wbkExcel.Close
Application.ScreenUpdating = True
End Sub

Wenn die lstTreffer befüllt ist, möchte ich durch Anklicken auf einen Eintrag, die jeweiligen Werte aus den Spalten in andere Textboxen übernehmen

Private Sub lstTreffer_Click()
Me.Spalte1 = lstTreffer.List(lstTreffer.ListCount - 1, 1)
Me.Spalte2 = lstTreffer.List(lstTreffer.ListCount - 1, 2)
'u.s.w  
End Sub

2019-03-21_112854

Besten Dank im Voraus

Content-Key: 431082

Url: https://administrator.de/contentid/431082

Printed on: April 23, 2024 at 22:04 o'clock

Mitglied: 138810
138810 Mar 21, 2019 updated at 13:51:53 (UTC)
Goto Top