• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Textbox invoer inkorten.

Status
Niet open voor verdere reacties.

samabert

Gebruiker
Lid geworden
27 mrt 2010
Berichten
301
Goedenavond allen,

Via een invoer in textbox1 zal het overeenkomstige item geselecteerd worden in Listbox1.
Nu moet er wel heel de naam getypt worden:
Voorbeeld rec ma 25 of REC MA 25

Kan de volgende code aangepast worden zodanig dat er alleen het nummer getypt moet worden met toch hetzelfde resultaat in Listbox1.
Voorbeeld 25.
Het tweede getal achter het zoek resultaat vb.: REC MA 25 10 is niet belangrijk, dit is een versie nummer.
Uitleg ook in bijlage.

Code:
 Private Sub TextBox1_Change()
        
    Dim i As Long
    Dim sFind As String

    sFind = Me.TextBox1.Text

    If Len(sFind) = 0 Then
        Me.ListBox1.ListIndex = -1
        Me.ListBox1.TopIndex = 0
    Else
        For i = 0 To Me.ListBox1.ListCount - 1
            If UCase(Left(Me.ListBox1.List(i), Len(sFind))) = UCase(sFind) Then
                Me.ListBox1.TopIndex = i
                Me.ListBox1.ListIndex = i
                Exit For
            End If
        Next i
    End If
End Sub

Alvast bedankt.

Marc
 

Bijlagen

  • Logbook_Test1.xlsm
    97,7 KB · Weergaven: 18
De listboxen blijven leeg na het drukken op de knop RECORDS en is het dus lastig te testen.
Maar probeer dit eens voor TextBox1:
Code:
Private Sub TextBox1_Change()
        
    Dim i As Long
    Dim sFind As String

    sFind = [COLOR="#FF0000"]"REC MA " & [/COLOR]Me.TextBox1.Text

    If Len([COLOR="#FF0000"]TextBox1.Text[/COLOR]) = 0 Then
        Me.ListBox1.ListIndex = -1
        Me.ListBox1.TopIndex = 0
    Else
        For i = 0 To Me.ListBox1.ListCount - 1
            If UCase(Left(Me.ListBox1.List(i), Len(sFind))) = UCase(sFind) Then
                Me.ListBox1.TopIndex = i
                Me.ListBox1.ListIndex = i
                Exit For
            End If
        Next i
    End If
End Sub
 
Laatst bewerkt:
edmoor,

Super :thumb:
Doet het helemaal in mijn bestand.

Bedankt voor de hulp.

Marc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan