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

Suche nach Einträgen in 2. Spalte der Listbox

Suche nach Einträgen in 2. Spalte der Listbox
26.06.2008 15:22:00
stefanseevetal
Hallo liebe Experten,
ich habe in einer UserForm eine Listbox mit zwei Spalten sowie eine Textbox mit der ich die Listbox "durchsuchen" kann. Funktioniert auch alles wunderbar für die erste Spalte der Listbox. Aber wie muss ich den Code ändern, damit das gleiche auch in der 2. Spalte funktioniert?
Danke und Gruß, Stefan

Private Sub TextBox1_Change()
Dim SuchName As String
Dim i As Integer
SuchName = UCase(tb_Suche.Value)
For i = 0 To lst_Kontakte.ListCount - 1
If SuchName 


3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Benutzer
AW: Suche nach Einträgen in 2. Spalte der Listbox
26.06.2008 15:39:00
Rudi
Hallo,
so?

If SuchName 


Gruß
Rudi

AW: Suche nach Einträgen in 2. Spalte der Listbox
26.06.2008 16:02:33
stefanseevetal
Hallo Rudi,
ja, das sieht gut aus. Mir ist allerdings gerade aufgefallen, dass das nur bei alphabetischer Sortierung funktioniert. Die Listbox ist aber nach Spalte 1 sortiert, deshalb funktioniert es nicht richtig.
Gibt es eine Möglichkeit, eine Listbox auch nach Spalte 2 zu sortieren?
Danke und Gruß,
Stefan

AW: Suche nach Einträgen in 2. Spalte der Listbox
27.06.2008 08:34:00
otto
Hi,
geht z.B. so (Code aus Forum)

Sub SortBox(ListBox1 As Control, intSpalten As Integer, _
intSpalte As Integer, Optional bytWie As Byte = 3)
' So DIS 28.04.05
' SortBox sortiert nicht gebundene List- und Comboboxen. Gebundene List- und Comboboxen
' (Angabe bei RowSource oder ListFillRange) können NICHT sortiert werden.
' cltBox     : Name der Listbox die sortiert werden soll.
' intSpalten : Wieviele Spalten sollen mit sortiert werden. Sollte der Anzahl der Spalten
'              in der Listbox entsprechen
' intSpalte  : Nach welcher Spalte soll sortiert werden.
' bytWie     : 1 oder Nicht angegeben als Text
'            : 2 als Zahl, dann muß die ganze Spalte Zahlen enthalten.
'            : 3 als Datum, dann muß die ganze Spalte Datumwerte enthalten.
' Aufruf zum Beispiel so: ListBox1 mit 7 Spalten, Sortierung nach Spalte 1 Sortierordnung Text
' SortBox ListBox1, 7, 1  oder SortBox ListBox1, 7, 1, 1
' Oder so    : Listbox17 mit 2 Spalten, Sortierung nach Spalte 2 Sortierordnung Zahlen
' SortBox ListBox17, 2, 2, 2
Dim intLast As Integer, intNext As Integer, intCounter As Integer, intFehler As Integer
Dim strTmp As String, strFehlertext As String
Dim variLast As Variant, variNext As Variant
On Error GoTo Errorhandler
intFehler = 0
With ListBox1
For intLast = 0 To .ListCount - 1
For intNext = intLast + 1 To .ListCount - 1
Select Case bytWie
Case 1
intFehler = 0
variLast = CStr(.List(intLast, intSpalte - 1))
variNext = CStr(.List(intNext, intSpalte - 1))
Case 2
intFehler = 1
variLast = CDbl(.List(intLast, intSpalte - 1))
variNext = CDbl(.List(intNext, intSpalte - 1))
Case 3
intFehler = 2
variLast = CDate(.List(intLast, intSpalte - 1))
variNext = CDate(.List(intNext, intSpalte - 1))
End Select
intFehler = 0
If variLast > variNext Then
For intCounter = 0 To intSpalten - 1
strTmp = CStr(.List(intLast, intCounter))
.List(intLast, intCounter) = CStr(.List(intNext, intCounter))
.List(intNext, intCounter) = strTmp
Next intCounter
End If
Next intNext
Next intLast
End With
Exit Sub
Errorhandler:
Dim cltBox
Select Case intFehler
Case 0
strFehlertext = "In der Listbox Sortierung ist ein Fehler aufgetreten !"
Case 1
strFehlertext = "Nicht alle Werte in der zu sortierenden Spalte sind Zahlen !"
Case 2
strFehlertext = "Nicht alle Werte in der zu sortierenden Spalte sind Datumswerte !"
Case Else
strFehlertext = "Unerwarteter Fehler !"
End Select
MsgBox strFehlertext & " Bitte informieren Sie 'So' ! " & vbCr & vbCr & _
"Fehler aufgetreten in " & cltBox.Name & " !" & vbCr & _
"Fehlernummer = " & Err.Number & vbCr & _
"Fehlerbeschreibung = " & Err.Description & vbCr & _
"Fehlersource = " & Err.Source, vbCritical, " Meldung vom Makro SortBox !"
End Sub


Gruß
otto

Links zu Excel-Dialogen

Meistgelesene Forumthreads (12 Monate)