• 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.

Inhoud textbox automatisch zoeken in ander werkblad

  • Onderwerp starter Onderwerp starter safe
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

safe

Gebruiker
Lid geworden
15 feb 2013
Berichten
94
Hallo allen,

Voor een bestaand planprogramma wil ik een functie toevoegen.
In Userform (formulier) wordt dmv een combobox gezocht naar een personeelslid. Deze combobox staat gelinkt met het werkblad " pers.lijst "

Onder de combobox staat o.a. een textbox waarvan de inhoud van de combobox erin komt te staan.

Nu wil ik graag een automatische zoekfunctie hebben in deze textbox. Zodra er een naam in de textbox komt te staan wil ik graag dat hij zoekt naar de naam in het (let wel) actieve werkblad.
Indien deze naam is gevonden wil ik graag de informatie welke in cell B staat achter de gevonden naam, in de 2e textbox in de Userform hebben staan. ( zie tekening )

Tekening.PNG
Is dit mogelijk?

Het klinkt wat omslachtig, maar dat heeft mede te maken omdat het een bestaand programma is.
Dit is tevens de reden waarom ik geen voorbeeld bestandje kan toevoegen.

Alvast bedankt voor het meedenken!!
M.vr.gr.
Safe
 
Laatst bewerkt:
Code:
Private Sub UserForm_Initialize()

    sn = Sheets("pers.lijst").Cells(1).CurrentRegion.Offset(1)
    ComboBox1.List = sn
    
End Sub

Private Sub ComboBox1_Change()

    TextBox1.Text = vbNullString: TextBox2.Text = vbNullString
    With ActiveSheet
        If Not .Columns(1).Find(ComboBox1.Value, , xlValues, xlWhole) Is Nothing Then
            TextBox1.Text = ComboBox1.Value
            TextBox2.Text = Application.Index(.Cells(1).CurrentRegion.Offset(1), _
                    Application.Match(ComboBox1.Value, .Columns(1), 0) - 1, 2)
        End If
    End With
    
End Sub
 
Laatst bewerkt:
Warme Bakkertje erg bedankt! Deze code werkt zoals ik in gedachten had.
Ik zit alleen nog met een maar....

De namen die in onze combobox voorkomen zijn enkel de achternamen. Gezien ons personeelsbestand zijn er meerdere personen die de zelfde achternaam hebben.
Hier heb ik dus blijkbaar niet goed over nagedacht..

Elk personeelslid heeft een uniek personeelsnummer. Nu wil ik dus niet de match op de naam maar op het pers.nr. laten zoeken.
Het pers.nr. wordt bij het selecteren van een naam weergegeven in TextBox11.

Zou de code aangepast kunnen worden dat hij nu niet de match zoekt uit de combobox maar uit textbox11 ?
(Hierbij moet hij dus zoeken in actief werkblad Rij " C " vanaf nr. " 9 ". Dus niet meer vanaf Rij "B" nr. "2")

Dit is de code die ik gebruik :
Code:
Private Sub Keus1_Change()
    With Sheets("Pers.lijst")
       
        rij = .Range("A8:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(Keus1).Row
        pasfoto = .Cells(rij, 25)
        TextBox2 = .Cells(rij, 1)
        TextBox1 = .Cells(rij, 3)
        TextBox9 = .Cells(rij, 2)
        TextBox6 = .Cells(rij, 7)
        TextBox7 = .Cells(rij, 9)
        TextBox8 = .Cells(rij, 10)
        TextBox11 = .Cells(rij, 4)
        TextBox10 = .Cells(rij, 19)
        TextBox12 = .Cells(rij, 8)
        TextBox13 = .Cells(rij, 18)
         Image1.Picture = LoadPicture(pasfoto)
        End With
       TextBox14.Text = vbNullString: TextBox15.Text = vbNullString
    With ActiveSheet
        If Not .Columns(1).Find(Keus1.Value, , xlValues, xlWhole) Is Nothing Then
        TextBox15.Text = Keus1.Value
        TextBox14.Text = Application.Index(.Cells(1).CurrentRegion.Offset(1), _
                    Application.Match(Keus1.Value, .Columns(1), 0) - 1, 2)
        End If
    End With
        
 
End Sub

Alvast bedankt !!

M.vr.gr.
Safe
 
Laatst bewerkt:
Plaats eens een voorbeeldbestandje welk de juiste situatie weergeeft.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan