Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1688to1692
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
Suchen in einer Listbox
28.04.2019 20:29:17
Nadine
Hallo, ich habe eine Frage. Ich habe eine Listbox in der ich per Button Werte aus deiner Combobox eintragen möchte. Ziel ist es, dass keine Werte doppelt darin stehen, deshalb habe ich mir versucht eine kleine Prüfung zu bauen, die einfach i hochzählt und das so lange bis sie den Name & i nicht findet, und diesen Wert dann einträgt.
Das z.B. sowas dabei raus kommt

  • AA
    AA 2
    AA 3
    BB
    CC
    DD 2
    EE
    ...

  • jedoch habe ich irgendwie einen Denkfehler und ab 2 hört er auf weiter zu zählen.

  • If .ListCount = 0 Then 'wenn kein Eintrag vorhanden
    .AddItem Cbb_Auswahl.Value 'Füge Wert direkt hinzu
    Exit Sub
    Else
    For ii = 0 To .ListCount - 1 'sonst suche per Schleife
    If .List(ii) = Cbb_Auswahl.Value Then
    gefunden = True 'Wenn Wert vorhanden setze Schalter
    End If
    Next
    End If
    If gefunden = True Then 'Wenn Schalter gesetzt setze Hilfsschalter
    gefunden2 = gefunden
    Do Until gefunden2 = False 'Suche so lange bis HS auf False
    i = i + 1
    For ii = 0 To .ListCount - 1
    If Not .List(ii) = Cbb_Auswahl.Value & " " & i Then
    gefunden2 = False 'setze HS auf False da Wert Frei
    End If
    Next
    Loop
    .AddItem Cbb_Auswahl.Value & " " & i 'Füge Wert hinzu mit i
    Else
    .AddItem Cbb_Auswahl.Value
    End If

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

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Suchen in einer Listbox
    28.04.2019 21:03:23
    Sepp
    Hallo Nadine,
    Private Sub CommandButton1_Click()
      Dim lngIndex As Long, lngList As Long, bolFound As Boolean, strAdd As String
    
      With ListBox1
        If .ListCount = 0 Then
          .AddItem CCB_Auswahl.Text
        Else
          Do
            strAdd = CCB_Auswahl.Text & IIf(lngIndex > 0, " " & CStr(lngIndex), "")
            For lngList = 0 To .ListCount - 1
              If .List(lngList, 0) = strAdd Then
                bolFound = True
                Exit For
              End If
            Next
            If Not bolFound Then
              .AddItem strAdd
              Exit Do
            End If
            lngIndex = lngIndex + 1
            bolFound = False
          Loop
        End If
      End With
    End Sub

    VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

    Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


    Anzeige
    AW: Suchen in einer Listbox
    28.04.2019 21:05:51
    Matthias
    Moin!
    Der "Fehler" liegt an der inneren Schleife mit ii. Dort prüfst du den Wert aus der Combo mit dem aktuellen in der Listboxzeile. Wird er nicht gefunden (was i.d.R. gleich vorkommt - der mit der Zahl kommt ja erst weiter hinten), setzt du die Abbruchbeding und damit kommt ein falscher Wert. Du müsstest die ganze Liste durchgehen und erst am Ende entscheiden, ob der Wert noch nicht drin war und nicht schon beim ersten. Habe den Code mal geändert. HAbe die gefunden Varibalen ein wenig anders gesetzt. So geht es:
    If .ListCount = 0 Then 'wenn kein Eintrag vorhanden
    .AddItem Cbb_Auswahl.Value 'Füge Wert direkt hinzu
    Exit Sub
    Else
    For ii = 0 To .ListCount - 1 'sonst suche per Schleife
    If .List(ii) = Cbb_Auswahl.Value Then
    gefunden = True 'Wenn Wert vorhanden setze Schalter
    End If
    Next
    End If
    If gefunden = True Then 'Wenn Schalter gesetzt setze Hilfsschalter
    Do Until gefunden = False 'Suche so lange bis HS auf False
    i = i + 1
    gefunden2 = False
    For ii = 0 To .ListCount - 1
    If .List(ii) = Cbb_Auswahl.Value & " " & i Then
    gefunden2 = True 'setze HS auf False da Wert Frei
    End If
    Next
    If gefunden2 = False Then gefunden = False
    Loop
    .AddItem Cbb_Auswahl.Value & " " & i 'Füge Wert hinzu mit i
    Else
    .AddItem Cbb_Auswahl.Value
    End If
    

    VG
    Anzeige
    AW: Suchen in einer Listbox
    28.04.2019 22:17:15
    Nadine
    Vielen lieben dank euch zwei. Vor allem dir Matthias, weil du noch sagtest was ich falsch gemacht habe.
    *freu und winkt*

    301 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige