Listbox in uSerform

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm ListBox
Bild

Betrifft: Listbox in uSerform
von: Peter W
Geschrieben am: 16.04.2005 12:55:08
Servus und nen schönen sonnigen Samstag während ich im Büro hock ;) ,
ich hoffe Ihr könnt mir helfen, ich komm nicht drauf.
Ich will doppelte Einträge in einer Listbox(Userform) verhindern, bekomms aber selbstständig nicht gebacken.
Hab auch schon die Recherche und die Faq Methoden ausprobiert, kanns mir aber nicht umschreiben, sry.
Am Code meckert er das x bei der if abfrage an (erwartet then oder goto).
Vieleicht weiss jemand Rat. Danke.


Private Sub UserForm_Initialize()
e = Sheets("Gesamt").Range("l1") - 1
For i = 3 To e
If Me.ListBox1.ListIndex <> -1 Then
lwert = Sheets("Gesamt").Range("B" & i)
End If
x = 0
if me.ListBox1listindex x <> lwert then ' Hier Fehler'
UserForm4.ListBox1.AddItem lwert
x = x + 1
End If
Next
End Sub

MfG
Peter
Bild

Betrifft: AW: Listbox in uSerform
von: Nepumuk
Geschrieben am: 16.04.2005 13:45:07
Hallo Peter,
sehr undurchsichtig dein Code. Was hat es den damit auf sich?
e = Sheets("Gesamt").Range("l1") - 1
Gruß
Nepumuk
Bild

Betrifft: AW: Listbox in uSerform
von: Peter W
Geschrieben am: 16.04.2005 14:18:17
Servus Nepumuk,
die Zeile e = usw. gibt den Wert einer Formel zurück die die erste freie Zeile in dem abzufragenden Bereich wiedergibt, -1 somit die letzte Belegte Zeile.
Mir ist inzwischen aber auch klar das die if Anweisung (Listindex <> -1) unsinnig ist und die Zeile x = 0 vor die Schleife gehört, den Rest bekomm aber net hin.
Vieleicht Opferst du nochmal ne Minute, danke.
MfG
Peter
Bild

Betrifft: AW: Listbox in uSerform
von: Nepumuk
Geschrieben am: 16.04.2005 16:04:15
Hallo Peter,
würde ich so machen:


Private Sub UserForm_Activate()
    Dim lRow As Long, lIndex As Long
    Dim bFound As Boolean
    For lRow = 3 To Cells(Rows.Count, 2).End(xlUp).Row
        If Trim$(Cells(lRow, 2).Text) <> "" Then
            bFound = False
            For lIndex = 0 To ListBox1.ListCount - 1
                If ListBox1.List(lIndex) = Trim$(Cells(lRow, 2).Text) Then bFound = TrueExit For
            Next
            If Not bFound Then ListBox1.AddItem Trim$(Cells(lRow, 2).Text)
        End If
    Next
End Sub


Gruß
Nepumuk
Bild

Betrifft: AW: Listbox in uSerform
von: Peter W
Geschrieben am: 18.04.2005 10:20:51
Servus Nepumuk,
erstmal sry das ich mich erst jetzt melde, hatte aber dann doch mal frei.
Funzt mit kleinen Änderungen wunderbar vielen Dank für die Hilfe.
Wenn du irgendwann mal noch ne Sec. Zeit hast würd mich interisieren wie das funzt, danke.
MfG
Peter
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Listbox in uSerform"