HLookUp in een form

Status
Niet open voor verdere reacties.

Dmar

Gebruiker
Lid geworden
23 dec 2011
Berichten
20
Beste,

Ik probeer de juiste waarde uit een excelsheet te halen en deze te plaatsen 'in een form.'
Hierbij moet de zoekterm uit een ComboBox gehaald worden en moet hierbij de juiste getal-waarde die hierbij hoort uit een Range in een bepaalde Sheet gehaald worden en daarmee moet ik rekenen in de form.

Hierbij gebruik ik het volgende:
Code:
waarde=HLookUp(ComboBoxprijslijst.Object.value;Sheets("ProductenOverzicht").Range("AF2:AS45");2;FALSE)*"hoeveelheid"
of
Code:
waarde=HLookUp(ComboBoxprijslijst.Object.value;ProductenOverzicht!AF2:AS45;2;FALSE)*"hoeveelheid"
,maar beide lijken niet te werken.

Wat is de juiste aanpak hiervan?

Alvast Bedankt!:thumb:

EDIT: Juiste oplossing onderaan
 
Laatst bewerkt:
Probeer het zo eens.

Code:
waarde = [COLOR="red"]Worksheetfunction.[/COLOR]HLookUp(ComboBoxprijslijst.Object.value,Sheets("ProductenOverzicht").Range("AF2:AS45"),2,FALSE)*"hoeveelheid"
Of:
Code:
waarde = Worksheetfunction.HLookUp(ComboBoxprijslijst.value,Sheets("ProductenOverzicht").Range("AF2:AS45"),2,FALSE)*"hoeveelheid"
 
Laatst bewerkt:
Of
Code:
waarde = [ProductenOverzicht!AF2:AS45].Find(ComboBoxprijslijst.Value, , xlValues, xlWhole) * hoeveelheid
Met de bijkomende vraag waar je hoeveelheid haalt, want nu wil je vermenigvuldigen met een String en dat kan niet.
 
Ik had het even tussen aanhalingstekens gezet voor de duidelijk, het is geen string.
Tevens doen beide het niet met errorcode 1004: "Unable to get the HLookup property of the WorksheetFunction class"
 
Maak even een Excelbestandje als voorbeeld als je wil.
 
En wat met mijn oplossing ? Met nog steeds de vraag waar Hoeveelheid vandaan komt ????
 
Hier enkele screens die het hopelijk verhelderen. Ik zal tevens het gehele verhaal kort toelichten.
knipselay.png
knipsel2g.png

Men dient hierbij een prijslijst te kiezen. Aan deze prijslijst staan verscheidene producten gekoppeld, met een aparte prijs voor elke prijslijst (Staan in de eerder genoemde range). Ik wil in de form berekenen wat de kosten zullen zijn, hierbij moet dus voor elk product worden gekeken welke prijs van toepassing is door middel van Horizontaal Zoeken in de tabel. Daarna vermenigvuldigd met het aantal en dat voor alle producten bij elkaar geteld.

Hopelijk weten jullie zo meer.
 
Laatst bewerkt:
Ik kan er niets mee; misschien @Rudi.

Ik heb geen zin in nabootsing; als bv. je combobox een ander naam heeft gaat het weer in de fout.
Hierdoor blijf je gissen.
 
Ik kan er niets mee; misschien @Rudi.

Ik heb geen zin in nabootsing; als bv. je combobox een ander naam heeft gaat het weer in de fout.
Hierdoor blijf je gissen.

Dat is geen probleem, deze namen blijven vast.
 
En de naam van de combobox is: ComboBoxprijslijst ????
 
Een voorbeeldbestand is hier toch wel op z'n plaats denk ik. Daardoor krijgen we een idee van de opbouw van je userform en de opbouw van je tabel zodat we een idee krijgen op welke manier de zoekacties georganiseerd worden. Zet er desnoods dummygegevens in als je je echte gegevens hier niet kwijt wil.
 
Ik ben bang dat dit helaas niet mogelijk is. In de form en alles daarom heen staat gevoelige informatie wat niet zo 1-2-3 te vervangen is door dummydata. Als het jullie niet lukt, zal ik het internet verder moeten afzoeken. Helaas is hier weinig over te vinden, vandaar mijn vraag hier.

Het probleem lijkt vrij simpel: Er moet horizontaal worden gezocht: 1) zoekterm staat in een ComboBox in form. 2) Range staat in een sheet
Het getal wat daaruit komt, moet mee worden gerekent.
 
Of
Code:
waarde = [ProductenOverzicht!AF2:AS45].Find(ComboBoxprijslijst.Value, , xlValues, xlWhole) * hoeveelheid
Met de bijkomende vraag waar je hoeveelheid haalt, want nu wil je vermenigvuldigen met een String en dat kan niet.

Wat betreft jouw formule: Hij geeft de inhoud van de ComboBox weer, hij zoekt hierbij niet de waarde die hierbij hoort weer.
 
Code:
waarde = [ProductenOverzicht!AF2:AS45].Find(ComboBoxprijslijst.Value, , xlValues, xlWhole)[COLOR="red"].Offset(1)[/COLOR] * hoeveelheid
 
Ik heb geen idee waarom, maar opeens deed hij het. Voor mensen die dit probleem ook hebben: gebruikte code:
Code:
Application.WorksheetFunction.HLookup(ComboBox1.Value, Sheets("Sheet1").Range("A:Z"), 2, False)
 
En de naam van de combobox is: ComboBoxprijslijst ????

Yep. Hij haalt de waardes hiervan uit een lijst d.m.v validatie

Ik heb geen idee waarom, maar opeens deed hij het. Voor mensen die dit probleem ook hebben: gebruikte code:
Code:
Application.WorksheetFunction.HLookup([COLOR="red"]ComboBox1.Value[/COLOR], Sheets("Sheet1").Range("A:Z"), 2, False)

Knap van je om ons zolang voor de gek te houden. :evil:
 
Nee, ik heb de namen aangepast voor andere mensen die dit lezen, anders snappen ze het wellicht niet :)
 
Ik ook niet meer.
Succes.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan