Probleem met VLookup

Status
Niet open voor verdere reacties.

hellboy01

Gebruiker
Lid geworden
18 jun 2006
Berichten
333
Hi,
Ik ben wat aan het oefenen met VLookup, maar ik krijg elke keer foutmelding 1004, en
"kl = Application.WorksheetFunction.VLookup(naam, myRange, 5, 0)" licht dan geel op.

Blijkbaar doe ik iets fout maar ik zie het niet. Hebben jullie een idee?
alvast bedankt Rob


Code:
Sub klantenLookUp()
   
   Dim lr As Integer
   Dim kl As String
   Dim naam As String
   Dim myRange As Range
   Set myRange = Sheets("KlantData").Range("A:E")
   naam = "Piet"
   
   lr = ThisWorkbook.Sheets("KlantData").Cells(Rows.Count, 1).End(xlUp).Row

   ' kl = Application.WorksheetFunction.VLookup(naam, Sheet1.Range("A:E"), 4, False)
   kl = Application.WorksheetFunction.VLookup(naam, myRange, 5, 0)

   MsgBox lr
   MsgBox myRange
   MsgBox kl
   

End Sub
 

Bijlagen

  • VlookUpTest.xlsm
    16,8 KB · Weergaven: 51
Je zoekt in bereik A:E maar je zoekwaarde moet bij Vlookup in de eerste kolom staan. Pas dit eens aan en kijk wat er gebeurt.



Ik zou ook die worksheetfunction er tussenuit halen, geeft vaak problemen.
 
Laatst bewerkt:
Sub klantenLookUp()

Dim lr As Integer
Dim kl As String
Dim naam As String
Dim myRange As Range
Set myRange = Sheets("KlantData").Range("B:E")
naam = "Piet"

lr = ThisWorkbook.Sheets("KlantData").Cells(Rows.Count, 1).End(xlUp).Row

' kl = Application.WorksheetFunction.VLookup(naam, Sheet1.Range("A:E"), 4, False)
kl = VLookup(naam, myRange, 5, 0)

MsgBox lr
MsgBox myRange
MsgBox kl


End Sub
 
Gebruik code tags als je VBA-code plaatst !!

Teveel denkfouten bij elkaar.

Maar desondanks:

Code:
Sub M_snb()
   sn = Sheets("KlantData").Cells(1).CurrentRegion                   '  alle aaneengesloten gegevens vanaf A1
   sp = Sheets("KlantData").Cells(1).CurrentRegion.Columns(2)   ' kolom B

   MsgBox sn(Application.Match("Piet", sp, 0), 5)   ' op deze manier is vlookup overbodig 
   
   MsgBox Application.VLookup("Piet", sp, 1, 0)     ' zoekt in kolom B

   sq=Sheets("KlantData").Cells(1).CurrentRegion.offset(,1)     '  alle aaneengesloten gegevens vanaf B1, B is de eerste kolom
   msgbox application.vlookup("Piet",sq,4,0)                          ' zoek 'Piet' in de eerste kolom, geeft het resultaat van de 4e kolom
End Sub
 
Laatst bewerkt:
Maak van die 5 een 4. Je bereik kent maar vier kolommen nu.
 
Code:
Sub klantenLookUp()
   Dim lr As Integer
   Dim kl As String
   Dim naam As String
   Dim myRange As Range
   
   Set myRange = Sheets("KlantData").Range("B:E")
   naam = "Piet"
   lr = ThisWorkbook.Sheets("KlantData").Cells(Rows.Count, 1).End(xlUp).Row
   kl = Application.WorksheetFunction.VLookup(naam, myRange, 4, 0)

   MsgBox lr
   MsgBox myRange.Address
   MsgBox kl
End Sub
 
@edm

application.worksheetfunction.Vlookup<>application.vlookup
Het meest stabiele gebruik is: application.vlookup.
 
Weet ik, maar ik heb voor het gemak van TS zijn code zo veel mogelijk intact gelaten.
 
Bedankt voor de hulp.
Dus VLookup rekent vanaf de kolom waar het zoekargument staat en niet vanaf A.
Weer wat geleerd.
 
Even nog een opmerking over de codetags.
Ik kijk regelmatig op jullie forum en dan scroll ik door de code in dat venster op en neer, maar dan krijg ik allemaal horizontale strepen in dat venster. Komt dat vaker voor?
 
Maar die tip had ik niet kunnen geven zonder Snb, want daar heb ik het van gehoord :)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan