Optellen in VBA op basis van meerdere criteria

Status
Niet open voor verdere reacties.

Dennisjuhh

Gebruiker
Lid geworden
30 jan 2014
Berichten
94
Beste Excel koningen en koninginnen:thumb:,

Ik probeer een aantal getallen bij elkaar op te tellen maar hiervoor moeten die getallen aan een aantal criteria voldoen. Hier kan je heel makkelijk de "Sommen.Als" functie voor gebruiken maar ik wil het in VBA doen omdat mijn sheets steeds verwijdert worden in mijn bestaande macro. Nu heb ik al wat geprobeerd om de functie "sommen.als" in VBA te gebruiken maar dit loopt niet helemaal lekker.

Het probleem is dus dat ik veel gebruik moet maken van "cel verwijzingen" in de als-functie. Als ik dit gewoon in Excel doe is dit geen probleem. Maar in VBA kan ik dit niet aanpassen, of ik weet gewoon niet hoe het moet:rolleyes:

Ik heb in de bijlage een voorbeeld bestand toegevoegd met wat ik probeer te bereiken. De "als formule" die daar staat wil ik dus met een marco in VBA proberen te bereiken. De code moet vervolgens ook heel makkelijk op een andere worksheet zijn te gebruiken. Hij kan dus niet vast verwijzen naar een tabblad omdat deze steeds veranderd.

Alvast bedankt!

Bekijk bijlage Voorbeeld.xlsx
 
Visual Basic is iets anders dan Visual Basic for Applications, VBA is programmeren binnen Office applicaties. Verplaatst naar juiste sectie.
 
Code:
Sub hsv()
 Range("B4") = "=Sumproduct((" & Sheets(1).Name & "!" & Range("A2:A100").Address & ")*(" & Sheets(1).Name & "!" & Range("B2:B100").Address & "=" & Range("B1").Address & ")*(" & Sheets(1).Name & "!" & Range("C2:C100").Address & "=" & 1310 & "))"
End Sub
 
Beste HSV,

Ik probeer de code te passen in mijn bestaande excel map, maar ik krjig het niet voor elkaar. Krijg steeds de foutmelding niet beschikbaar. Ik wil de sheet aanpassen waarvan hij zijn gegevens haalt maar als ik dan sheets(1) verander in sheets(2) doet hij het niet meer. Zou je me miss ook wat meer toelichting kunnen geven wat hierboven precies staat zodat ik het miss beter snap=)
 
Sheet(1) = het eerste blad van volgorde.
Sheet(2) = het tweede blad van volgorde.
 
Beste HSV,

Ik ben er uit=) bedankt voor je moeite! Nog een laatste vraag als het ff tussendoor kan. Is het mogelijk om macro's op te roepen uit een andere module? Krijg het nu alleen voor elkaar als ze in dezelfde staan=(
 
Helaas begrijp ik je vraag niet helemaal goed.
Zulke subs zet je in een standaard module.
Alt+F11 menu "invoegen" → module.

Nu zijn ze gewoon te benaderen.
 
HSV,

Ik zal wat duidelijker proberen te zijn. Ik heb 2 modules aangemaakt in mijn VBA project zodat het wat overzichtelijker is. Maar de laatste sub in module 1 moet de eerste sub aan gaan roepen in module 2Hoe doe ik dit? Krijg steeds foutmeldingen met call en run.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan