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

Optellen variabele range getallen

Status
Niet open voor verdere reacties.

duco243

Gebruiker
Lid geworden
8 jul 2009
Berichten
67
Ik heb 1 tabel met 2 kolommen (B en D ) met elk 30 getallen (rij 1 tm 30) zie bestand

In kolom B staan ordernummers, dit zijn verschillende nummers die vaker voor kunnen komen en steeds anders zijn als ik weer een volgende tabel maak.
In kolom C staan de uren die bij het ordernummer horen.

Doel: ik zou graag per ordernummer het totaal aantal uren willen berekenen via een macro.

2 problemen:

a. Hoe laat ik Excel weten welke range cellen opgeteld moeten worden?

De ordernummers staan na sorteren wel onder elkaar, in kolom A staat de formule die de laatste ordernummer met 1 aangeeft.
Maar hoe laat ik de celpionter steeds naar de volgende 1 springen zodat er opgeteld kan worden?

b. Hoe tel ik een variabele range getallen op

Omdat een ordernummer meerdere keren voor kan komen (b.v. ooit 10x, een andere keer 3x) zit ik steeds met variabele optelbereiken.
Als problem a opgelost is dan krijg ik de pointer wel onder de range (na "regel invoegen" via de macro) maar hoe laat ik Excel weten hoeveel cellen erboven opgeteld moeten worden?


n.b misschien zit ik wel helemaal op het verkeerde spoor met deze methode en is er iets heel simpelsBekijk bijlage Map1sda.xlsmBekijk bijlage Map1sda.xlsm, alle info is welkom


Bij voorbaat dank

Duco
 
ik zou geen vba gebruiken als het gemakkelijk zonder kan.
Typ in E1:
Code:
=ALS(F1="";"";"Totaal")
Typ in F1:
Code:
=ALS(B2=B1;"";SOMMEN.ALS(D$1:D1;B$1:B1;"="&B1))
En kopieier E1:F1 naar beneden.
 
Heb ik het goed begrepen dat kolommen A tem D je input is en dat je bij elke overgang naar een nieuw ordernummer (kolom B) je een rij wenst in te voegen die dan de som maakt van bovenstaande rijen van dat ordernummer?
Wanneer dat zo is, dan zal je VBA nodig hebben want met formules kan je geen rijen invoegen.

Als die lay out niet echt een must is kan dit misschien ook goed zijn.
Eerst een lijst maken waarbij elk ordernummer slechts één keer voorkomt. Dat is kolom L
Dan de som maken van kolom C in kolom O voor elk ordernummer
Dan de som maken van kolom D in kolom P voor elk ordernummer

Merk op: Dit zijn allemaal matrix formules, dus afsluiten met Ctrl+Shift+Enter indien je er iets aan wijzigt.
Merk op: Je hebt een hoofding rij nodig voor de lijst met unieke ordernummers!

Bekijk bijlage Map1sda--V001.xlsm
 
Ook zonder code maar met een draaitabel.
 

Bijlagen

  • Map1sda.xlsb
    20,6 KB · Weergaven: 82
ik zou geen vba gebruiken als het gemakkelijk zonder kan.
Typ in E1:
Code:
=ALS(F1="";"";"Totaal")
Typ in F1:
Code:
=ALS(B2=B1;"";SOMMEN.ALS(D$1:D1;B$1:B1;"="&B1))
En kopieier E1:F1 naar beneden.

Mooie oplossing, zojuist even getest en werkt prima.
Het ging mij erom dat ik de total-uren bij het ordernummer kreeg, of dat nu met of zonder vba moet.
Met deze formules is wel het simplest natuurlijk.
De andere twee reacties ga ik ook nog uitproberen maar hier ben ik al enorm mee geholpen.

Bedankt voor de moeite allen.


gr.

Duco
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan