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

vblookup in vba

Status
Niet open voor verdere reacties.

barbaar

Gebruiker
Lid geworden
7 mei 2008
Berichten
54
Ik heb een klein vraagje betreft het verticaal zoeken in vba.

Het is de bedoeling dat als er een distributie gemaakt moet worden, er eerst nagekeken wordt of er uberhaupt nog wel voldoende artikelen daarvan in de voorraad liggen. De code die ik op dit moment heb is als volgt:
Code:
If Range("C21") < WorksheetFunction.VLookup(Range("A21"), Range("A29:H5000"), 3, False) Then
MsgBox ("Tekort aantal producten"): Exit Sub
End If

De bedoeling is dat cel C21 (aantal van het product opgegeven in A21) vergeleken wordt met de huidige hoeveelheid van A21. Als deze hoger is dan de voorraad, moet er een melding gegeven worden en de macro worden gestopt. Op dit moment wordt dit echter overgeslagen en ik weet niet waarom. Weet iemand hier de fout uit te halen?

Ik heb de sheet bijgevoegd waar het probleem in staat. Deze bevind zich in het tabblad "Voorraadscherm"

Deze is te downloaden via: http://www.megaupload.com/?d=293HKZHA

Ik kon het niet via het forum uploaden, daar is het bestand te groot voor inmiddels.

Alvast bedankt :thumb:,

Barbaar
 
Deze is te downloaden via: http://www.megaupload.com/?d=293HKZHA

Ik kon het niet via het forum uploaden, daar is het bestand te groot voor inmiddels.

Dan moet je het bestand verkleinen. Enkel een voorbeeldbestandje is al genoeg. Ik download liever niet 3 MB en al evenmin van een site als megaupload.

On-topic: gebruik geen verticaal zoeken, maar programmeer Find in VBA. In de helpfiles staat er al uitgewerkte code onder "Find methode".

Wigi
 
Ik heb een klein vraagje betreft het verticaal zoeken in vba.

Het is de bedoeling dat als er een distributie gemaakt moet worden, er eerst nagekeken wordt of er uberhaupt nog wel voldoende artikelen daarvan in de voorraad liggen. De code die ik op dit moment heb is als volgt:
Code:
If Range("C21") < WorksheetFunction.VLookup(Range("A21"), Range("A29:H5000"), 3, False) Then
MsgBox ("Tekort aantal producten"): Exit Sub
End If

De bedoeling is dat cel C21 (aantal van het product opgegeven in A21) vergeleken wordt met de huidige hoeveelheid van A21. Als deze hoger is dan de voorraad, moet er een melding gegeven worden en de macro worden gestopt. Op dit moment wordt dit echter overgeslagen en ik weet niet waarom. Weet iemand hier de fout uit te halen?

Ik heb de sheet bijgevoegd waar het probleem in staat. Deze bevind zich in het tabblad "Voorraadscherm"

Deze is te downloaden via: http://www.megaupload.com/?d=293HKZHA

Ik kon het niet via het forum uploaden, daar is het bestand te groot voor inmiddels.

Alvast bedankt :thumb:,

Barbaar

Dat lijkt mij vrij duidelijk.
De fout zit in de <. Dat moet > zijn.

Code:
If Range("C21") [B][COLOR="Red"]>[/COLOR][/B] WorksheetFunction.VLookup(Range("A21"), Range("A29:H5000"), 3, False) Then
MsgBox ("Tekort aantal producten"): Exit Sub
End If

Want anders stopt je programma als je minder bestelt dan dat er in voorraad is ipv andersom.

Met vriendelijke groet,


Roncancio
 
Ronacio, je hebt gelijk. Ik vond het al zo raar dat hij het niet deed. Was hard aan het zoeken wat nou het probleem was, dat ik gewoon vergat om te kijken naar het makkelijkste :o

Wigi, ik zal volgende keer als het nodig is een voorbeeldbestandje aanmaken.

Beide bedankt voor de hulp :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan