Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ListBox befüllen

Forumthread: ListBox befüllen

ListBox befüllen
27.04.2006 11:51:50
otto
Hallo,
ich verwende folgenden Code (aus dem Forum)um eine Listbox nach Änderung einer Textbox zu befüllen.
Ich möchte nun wenn möglich, diese Listbox 2-spaltig haben und in der 2. Spalte den Eintrag aus Spalte 8 einfügen. Wie kann ich das machen? Habe schon viel herumprobirt es aber nicht hinbekommen.

Private Sub TextBox1_Change()
TextBox2 = TextBox1
Dim arr() As Variant
Dim index As Integer
x = Range("C65536").End(xlUp).Row
If TextBox1.Value = "" Then
ListBox1.RowSource = "C5:C" & x
Exit Sub
End If
ListBox1.RowSource = ""
ListBox1.Clear
For index = 5 To x
If LCase(Left(Cells(index, 3), Len(TextBox1))) = LCase(TextBox1) Then
If Sheets("Tabelle1").Cells(index, 3) <> "" Then
On Error Resume Next
ReDim Preserve arr(0, 0 To iCount)
arr(0, iCount) = Cells(index, 3)
iCount = iCount + 1
ListBox1.Column = arr
End If
End If
Next
End Sub

gruß otto
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox befüllen
27.04.2006 12:22:27
Uduuh
Hallo,
ungetestet, sollte aber klappen:

Private Sub TextBox1_Change()
TextBox2 = TextBox1
Dim arr() As Variant
Dim index As Integer
x = Range("C65536").End(xlUp).Row
If TextBox1.Value = "" Then
Listbox1.RowSource = "C5:C" & x
Exit Sub
End If
Listbox1.RowSource = ""
Listbox1.Clear
For index = 5 To x
If LCase(Left(Cells(index, 3), Len(TextBox1))) = LCase(TextBox1) Then
If Sheets("Tabelle1").Cells(index, 3) <> "" Then
On Error Resume Next
ReDim Preserve arr(0 To 1, 0 To icount)
arr(0, icount) = Cells(index, 3)
arr(1, icount) = Cells(index, 8)
icount = icount + 1
End If
End If
Next
Listbox1.ColumnCount = 2
Listbox1.List = arr
End Sub

Gruß aus’m Pott
Udo

Anzeige
AW: ListBox befüllen
27.04.2006 13:49:46
otto
Hi Udo,
sorry, funktioniert noch nicht so richtig. es werden nur 2 Einträge angezeigt.
Außerdem stehen die Namen(index3)nebeneinander und nicht untereinander.
Wenn zum Bsp. 10 Eintrahe mit "h" beginnen, sollen in der Listbox auch 10 Einträge erscheinen.
Was muss ich da ändern?
otto
Anzeige
AW: ListBox befüllen
27.04.2006 14:24:47
u_
Hallo,
versuchs mal so:
arr=worksheetfunction.transpose(arr)
listbox1.list=arr
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
AW: ListBox befüllen
28.04.2006 06:37:56
otto
Hi,
funktioniert auch nicht so richtig.
Habe mal die Tabelle hochgeladen, mit den jetzigen 2 Listboxen.
https://www.herber.de/bbs/user/33202.xls
Gruß otto
Anzeige
AW: ListBox befüllen
28.04.2006 10:07:54
u_
Hallo,
meinst du das so?

Private Sub TextBox1_Change()
TextBox2 = TextBox1
Dim arr() As Variant, Tmp As Variant, wks As Worksheet
Dim index As Integer
Set wks = Sheets("Tabelle1")
x = wks.Range("C65536").End(xlUp).Row
ListBox1.RowSource = ""
Tmp = wks.Range(Cells(5, 3), Cells(x, 8))
x = x - 4
If TextBox1.Value = "" Then
ReDim arr(0 To 1, 0 To x - 1)
For index = 1 To UBound(Tmp, 1)
arr(0, index - 1) = Tmp(index, 1)
arr(1, index - 1) = Tmp(index, 6)
Next
arr = WorksheetFunction.Transpose(arr)
ListBox1.List = arr
Else
For index = 1 To UBound(Tmp, 1)
If LCase(Left(Tmp(index, 1), Len(TextBox1))) = LCase(TextBox1) Then
ReDim Preserve arr(0 To 1, 0 To icount)
arr(0, icount) = Tmp(index, 1)
arr(1, icount) = Tmp(index, 2)
icount = icount + 1
End If
Next
End If
If icount > 0 Then
arr = WorksheetFunction.Transpose(arr)
ListBox1.List = arr
End If
End Sub
Gruß
Geist ist geil!
(Dies ist ein allgemeines Statement und nicht an bestimmte Personen gerichtet.)
Anzeige
Danke an u_ - ListBox befüllen
28.04.2006 11:55:39
otto
Genau so meinte ich es, besten Dank
otto
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige