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

VLookup in VBA

Status
Niet open voor verdere reacties.

Atwist

Terugkerende gebruiker
Lid geworden
24 jan 2006
Berichten
1.076
Besturingssysteem
Wndows 11
Office versie
2016
Ik loop vast met de VLookup functie in VBA, krijg het niet voor elkaar dat de TextBoxen(TB) worden gevuld.
De ComboBox (CBB) werkt goed maar het vert.zoeken (VLookup) niet
Code:
Private Sub CBB_klantnaam_wijzig_Click()
TB_contactpersoon_wijzig.Value = Application.WorksheetFunction.VLookup(CBB_klantnaam_wijzig.ListIndex)
TB_adres_wijzig.Value = Application.WorksheetFunction.VLookup(CBB_klantnaam_wijzig.ListIndex)
TB_plaats_wijzig.Value = Application.WorksheetFunction.VLookup(CBB_klantnaam_wijzig.ListIndex)
End Sub

Kan iemand de TB_contactpersoon_wijzig aanpassen zodat ik weer verder kan en kan zien wat ik verkeert heb gedaan.

Alvast bedankt.
 
Daar zijn de werkbladfunkties ook niet voor bedoeld.

Code:
Private Sub CBB_klantnaam_wijzig_Click()
  TB_contactpersoon_wijzig = CBB_klantnaam_wijzig.column(0)
  TB_adres_wijzig = CBB_klantnaam_wijzig.column(1)
  TB_plaats_wijzig = CBB_klantnaam_wijzig.column(2)
End Sub

NB. het defaultkenmerk van een tekstvak is .Text, niet .Value
NB2. gebruik een werkbladfunktie (als je hem al gebruikt) altijd met application, zonder 'worksheetfunction': application.Match i.p.v worksheetfunction.match
 
Laatst bewerkt:
Dank je SNB,

Code werkt perfect.

NB. het defaultkenmerk van een tekstvak is .Text, niet .Value
NB2. gebruik een werkbladfunktie (als je hem al gebruikt) altijd met application, zonder 'worksheetfunction': application.Match i.p.v worksheetfunction.match

Hier ga ik zeker rekening mee houden

Nogmaals mijn dank
 
Als je kijkt naar de argumenten van Vlookup is het tweede argument een range of named range.
Ranges komen alleen in Excel werkbladen voor, niet in comboxen of listboxen in een Userform.

Alls werkbladfunkties die expliciet een Range nodig hebben, zijn alleen te gebruiken in een werkblad..
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan