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

Excel verticaal zoeken in VBA

Status
Niet open voor verdere reacties.

Champy

Gebruiker
Lid geworden
7 mrt 2007
Berichten
36
Beste mensen,
ben bezig met wat code in VBA, en natuurlijk gaat er weer iets fout, anders kwam ik hier niet.

Onderstaand de code die ik opgenomen heb in een leeg werkblad om te proberen

Code:
Sub vert_zoeken()
    Range("B2").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-1],'[Producten per leverancier.xlsx]Blad1'!R1:R1048576,4,FALSE),"""")"
    Range("B3").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-1],'[Leverancier per inkoper.xls]Lijst'!R1:R65536,2,FALSE),"""")"
    Range("C2").Select
End Sub

Dit is getest, en werkt.
Als ik nu echter dezelfde code toe ga passen in mijn hoofdmap loopt hij er op vast. Code ziet er daar als volgt uit:

Code:
'Verkoper informatie bestanden openen
    Workbooks.Open Filename:="u:\Inkoop\Producten per leverancier.xlsx"
    Workbooks.Open Filename:="u:\Inkoop\Leverancier per inkoper.xls"
    
    'Verkoper informatie toevoegen
    Windows("mankorapport.xls").Activate
    Columns("C:D").Select
    With Selection
        .Insert shift:=xlToRight
        .Columnwidth= 17
    End With
    Range("C1").FormulaR1C1 = "Leverancier"
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],'[Producten per leverancier.xlsx]Blad1'!R1:R1048576,4,FALSE),"""")"
    Range("C2").AutoFill Destination:=Range("C2:C4520"), Type:=xlFillDefault
    Range("C2:C4520").Select
    Range("D1").FormulaR1C1 = "Inkoper"
    Range("D2").Select
    ActiveCell.Formula = "=IFERROR(VLOOKUP(RC[-1],'[Leverancier per inkoper.xls]Lijst'!R1:R65536,2,FALSE),"""")"
    Range("D2").AutoFill Destination:=Range("D2:D4520"), Type:=xlFillDefault
    Range("D2:D4520").Select

Iemand enig idee waarom het verticaal zoeken in een nieuwe lege werkmap wel werkt, maar in de andere code niet?

Alvast bedankt!
 
Laatst bewerkt:
Champy,

Waarom het niet werkt kan ik je niet vertellen maar je code die je heb opgenomen werkt ook zo.
Heb je de code ook met F8 doorlopen?
Zo kun je misschien de fout ontdekken.
Code:
Sub vert_zoeken()
    Range("B2").FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-1],'[Producten per leverancier.xlsx]Blad1'!R1:R1048576,4,FALSE),"""")"
    Range("B3").FormulaR1C1 = _
        "=IFERROR(VLOOKUP(RC[-1],'[Leverancier per inkoper.xls]Lijst'!R1:R65536,2,FALSE),"""")"
    Range("C2").Select
End Sub
 
Champy,

Waarom het niet werkt kan ik je niet vertellen maar je code die je heb opgenomen werkt ook zo.
Heb je de code ook met F8 doorlopen?
Zo kun je misschien de fout ontdekken.

Sorry, dat was ik inderdaad vergeten te vermelden. Ik had de code al doorlopen, stopt bij de volgende regel:
Code:
ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-1],'[Producten per leverancier.xlsx]Blad1'!R1:R1048576,4,FALSE),"""")"
Dit is dus regel nummer 13
 
Zomaar een vraag want ik weet het echt niet.
Zijn de 2 file's waarin je gaat zoeken geopend?
 
Deze zijn inderdaad beide geopend:

Code:
    Workbooks.Open Filename:="u:\Inkoop\Producten per leverancier.xlsx"
    Workbooks.Open Filename:="u:\Inkoop\Leverancier per inkoper.xls"

Edit: Het is opgelost. Het had te maken met het feit dat het bestand waar ik in werkte een .xls bestand was, en ik dus werkte in de compatibiliteitsweergave. Veranderd naar xlsm, en nu werkt alles perfect!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan