jonathan11
Gebruiker
- Lid geworden
- 19 apr 2017
- Berichten
- 8
Beste,
ik maak een bestand waarin ik lijstjes met afgehandelde taken afboek in de totaallijst van de werkvoorraad. Met deze macro wil ik de status van de items uit het lijstje van de medewerker in de totaallijst omzetten van open naar done. De macro start vanuit het tabblad van de medewerker waar zijn persoonlijke lijstje staat. De bedoeling is om vanuit de totaallijst in een ander tabblad de status op te halen uit het tabblad van de medewerker. De kolommen met het klantnummer en status sla ik op in een array (Cust_ID en Status). In een range van gelijke grootte probeer ik met worksheetfunction VLookup voor de regels uit het lijstje van de medewerker de status "Done" op te halen. De code werkt, behalve de formule VLookup, met als zoekcriterium het klantnummer. Ook niet als ik de iferror functie weghaal. Ongetwijfeld weet hier iemand wat er niet goed gaat.
Alvast bedankt. En als er een betere manier is om tot dit resultaat te komen hoor ik het natuurlijk graag. Een loop ipv een array leek me geen optie vanwege de grote range (1388 rijen in de totaallijst).
Oja, nog iets, de error die VLookup geeft als je een controle toevoegt is "Door object of functie gedefinieerde fout".
ik maak een bestand waarin ik lijstjes met afgehandelde taken afboek in de totaallijst van de werkvoorraad. Met deze macro wil ik de status van de items uit het lijstje van de medewerker in de totaallijst omzetten van open naar done. De macro start vanuit het tabblad van de medewerker waar zijn persoonlijke lijstje staat. De bedoeling is om vanuit de totaallijst in een ander tabblad de status op te halen uit het tabblad van de medewerker. De kolommen met het klantnummer en status sla ik op in een array (Cust_ID en Status). In een range van gelijke grootte probeer ik met worksheetfunction VLookup voor de regels uit het lijstje van de medewerker de status "Done" op te halen. De code werkt, behalve de formule VLookup, met als zoekcriterium het klantnummer. Ook niet als ik de iferror functie weghaal. Ongetwijfeld weet hier iemand wat er niet goed gaat.
Alvast bedankt. En als er een betere manier is om tot dit resultaat te komen hoor ik het natuurlijk graag. Een loop ipv een array leek me geen optie vanwege de grote range (1388 rijen in de totaallijst).
Oja, nog iets, de error die VLookup geeft als je een controle toevoegt is "Door object of functie gedefinieerde fout".
Code:
Dim Medewerker As String
Dim Cust_ID() As Variant
Dim Status() As Variant
Medewerker = ActiveSheet.Name
On Error Resume Next
EntireColumn.Hidden = False
Range("N2", Range("N2").End(xlDown)) = "Done"
Sheets("Voorraad").Activate
Cust_ID = Range("K2", Range("B1").End(xlDown).Offset(0, 9))
Status = Range("N2", Range("B1").End(xlDown).Offset(0, 12))
ProdName = Range("O2", Range("B1").End(xlDown).Offset(0, 13))
Range("N2", Range("N1").Offset(UBound(Cust_ID, 1))).Value = Application.WorksheetFunction.IfError(Application.WorksheetFunction.VLookup(Cust_ID, _
Sheets(Medewerker).Range("A2", Range("A1").End(xlDown).Offset(0, 13)), 14, False), Status)
Laatst bewerkt: