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

VBA: issue VLOOKUP met Current Region op ander tabblad

Status
Niet open voor verdere reacties.

arrie23

Gebruiker
Lid geworden
20 okt 2009
Berichten
400
Beste allemaal,

Ik wil in VBA een VLOOKUP-formule die telkens gebruik maakt van de Current Region van een ander tabblad.

Tot zover heb ik het voor elkaar dat hij ook daadwerkelijk verwijst naar de Current Region:

Code:
Range("P2").Formula = "=VLOOKUP(1,Origineel!" & Sheets("Origineel").Range("A1").CurrentRegion.Address & ",3,FALSE)"

Echter wil ik niet zoeken op waarde 1 maar de zoekwaarde is een combinatie van de waarde in cel F2 en de waarde in cel P1 gescheiden door een '_'. Ik wil deze formule vervolgens naar rechts en beneden kunnen trekken waarbij kolom F en rij 1 worden vastgehouden. Het hard coderen van F2&P1 is dus niet wat ik zoek

Met behulp van de VBA-recorder is het:
Code:
RC6&""_""&R1C

De 1 simpelweg vervangen door RC6&""_""&R1C werkt niet:

Code:
Range("P2").Formula = "=VLOOKUP(RC6&""_""&R1C",Origineel!" & Sheets("Origineel").Range("A1").CurrentRegion.Address & ",3,FALSE)"

Wat moet het wel zijn? Hopelijk weet iemand het antwoord.
 
Laatst bewerkt:
Heb je dit ook al geprobeerd?
PHP:
"R2C6&""-""&R1C16"
 
Laatst bewerkt:
Bedankt voor je input. Die heb ik geprobeerd maar dan krijg ik"Compileerfout: Verwacht: instructie-einde"
 
Ik heb het even zo gedaan en het werkt bij mij.
Code:
A = Range("F2").Value
B = Range("P1").Value
Range("P2").Formula = "=VLOOKUP(A & ""_"" & B,Origineel!" & Sheets("Origineel").Range("A1").CurrentRegion.Address & ",3,FALSE)"

Edit;
Toch niet goed gedacht, het werkt dus niet.
 
Laatst bewerkt:
Ik krijg dan als resultaat:

Code:
=VERT.ZOEKEN(A & "_" & B;Origineel!$A$1:$AC$190;3;ONWAAR)

Moet ik nog wat anders met die A en B doen?
 
Is er wellicht een andere benadering mogelijk

Onderstaande code met vast bereik werkt:
Code:
  Range("P2").Formula = "=IFERROR(VLOOKUP(RC6&""_""&R1C,Origineel!R1C1:R190C29,3,0),"""")"

Nu is eigenlijk alleen de 190 (het aantal rijen op het tabblad Origineel) dynamisch.
 
Ik heb geen idee wat het nut is van dmv VBA een enkele cel van een formule te voorzien. Als je zoiets plaatst doe er dan een voorbeeldje bij.

Als het alleen gaat om de laatste rij te vinden kan je deze eens proberen
Code:
Sub VenA()
    Range("P2").Formula = "=IFERROR(VLOOKUP(RC6&""_""&R1C,Origineel!R1C1:R" & Sheets("Origineel").Cells(1).CurrentRegion.Rows.Count & "C29 ,3,0),"""")"
End Sub
 
Beste VenA,

Bedankt!! Zojuist even getest en het werkt precies zoals ik zou willen. Ik snap dat de vraag op het eerste oog wellicht niet zo zinvol lijkt maar deze (voor het forum ook nog iets versimpelde) formule is een klein onderdeel van een veel uitgebreider VBA-script. Dat werkte verder helemaal goed behalve dan dat ik het bereik in deze specifieke formule niet dynamisch kreeg. Met deze oplossing kom ik zelf wel weer verder.
Nogmaals bedankt voor de hulp!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan