Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
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 einlesen langsam. Hobycode?

Listbox einlesen langsam. Hobycode?
06.02.2015 22:30:12
Tom
Hallo Leute
Habe eine Adressauswahl (ca. 800 Einträge) via ListBox gebastelt. Innerhalb dieser suche ich per TextBox nach Namen. Doch das Einlesen bzw. offnen ist sehr langsam. Das liegt sicher an meinem Hobycode. Kann man den noch etwas anschubsen?
Im weteren gefallen mir die Suchresultate noch nicht. Wenn ich einen Namen suche, muss ich den genau so eingeben, wie er in der Liste steht, sonst finde ich nix. Ich schreibe Vorname und Nachname in die selbe Zelle, da muss ich immer beide Namen tippen, um fündig zu werden. Wenn er doppelt existiert, finde ich nichts. Gibt es eine Möglichkeit, dass bereits die Suche nach dem Nachnamen Hitts erzeugt? Und wenn mehrere zu finden sind, dass mir entweder alle gleichzeitig markiert werden, oder per weiter suchen (einfach den Suchen Button mehrmals betätigen) einer nach dem anderen markiert wird?
Wäre super, wenn sich das mal jemand anschauen könnte.
Private Sub CommandButton1_Click()
Dim iRow As Integer
Dim iCol As Integer
For iRow = 0 To lstAdressen.ListCount - 1
For iCol = 0 To lstAdressen.ColumnCount - 1
If lstAdressen.List(iRow, iCol) = TextBox1.Text Then
lstAdressen.Selected(iRow) = True
End If
Next iCol
Next iRow
End Sub
Sub UserForm_Initialize()
Dim wks As Worksheet
Dim ii As Integer
Set wks = Sheets("Adressen")
With wks
For ii = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
lstAdressen.ColumnCount = 10
If Not IsEmpty(.Cells(ii, 1)) Then
lstAdressen.AddItem Cells(ii, 1).Value
lstAdressen.List(lstAdressen.ListCount - 1, 0) = .Cells(ii, 1).Value
lstAdressen.List(lstAdressen.ListCount - 1, 1) = .Cells(ii, 2).Value
lstAdressen.List(lstAdressen.ListCount - 1, 2) = .Cells(ii, 3).Value
lstAdressen.List(lstAdressen.ListCount - 1, 3) = .Cells(ii, 4).Value
lstAdressen.List(lstAdressen.ListCount - 1, 4) = .Cells(ii, 5).Value
lstAdressen.List(lstAdressen.ListCount - 1, 5) = .Cells(ii, 6).Value
End If
Next ii
End With
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox einlesen langsam. Hobycode?
06.02.2015 23:16:24
Tino
Hallo,
versuch mal so.
Durchsucht wird die erste Spalte.
Private Sub TextBox1_Change()
Dim varIndex
If TextBox1.Value  "" Then
varIndex = Application.Match(TextBox1.Text & "*", Application.Index(lstAdressen.List, , 1),  _
0)
If IsNumeric(varIndex) Then
lstAdressen.ListIndex = varIndex - 1
Else
lstAdressen.ListIndex = -1
End If
Else
lstAdressen.ListIndex = -1
End If
End Sub
Private Sub UserForm_Initialize()
lstAdressen.ColumnCount = 10
With Sheets("Adressen")
lstAdressen.List = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp).Resize(, 6)).Value
End With
End Sub
Gruß Tino
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige