Subtotalen in draaitabel op voorwaarde

Status
Niet open voor verdere reacties.

Equipe85

Gebruiker
Lid geworden
4 feb 2017
Berichten
6
Hoi allen,

Ik heb de volgende situatie:

Project - Deelproject - Kosten
A - Deelproject A.1 - 10
A - Deelproject A.2 - 10
A - Deelproject A.3 - 10
B - 10
B
C - Deelproject B.1 - 5
C - Deelproject B.2 - 5
C - Deelproject B.3 - 5
(data is hier wat verschoven)
Hier gooi ik vervolgens een draaitabel over heen. Ik wil in VBA programmeren dat er subtotalen komen te staan van de kosten, mits er een deelproject is. Hoe is dit het beste te programmeren in VBA?
 
Laatst bewerkt:
Zoiets? Anders zelf even een voorbeeldbestandje plaatsen met de verwachte uitkomst.
 

Bijlagen

Ik heb het voorbeeld bijgevoegd:

Bekijk bijlage DtDeelproject.xlsx

De VBA code zou een subtotaal moeten geven bij projecten met deelprojecten. Projecten zonder deelproject mogen op één regel staan in de draaitabel en hoeven niet uitgeklapt te worden met subtotalen.
 
Ik zie het probleem niet. Binnen de opties van een draaitabel kan je aangeven of je de knoppen voor het in- uit- uitvouwen wel of niet wil zien. Mogelijk dat je dit bedoelt?
 
Dat klopt inderdaad, het probleem zit hem in het feit dat ik overzichten heb met 1000 projecten. In dit overzicht wil ik de extra subtotalen van projecten zonder deelprojecten niet laten zien omdat dit overzichtelijker oogt. Door de hoeveelheid projecten is het niet te doen om dit een voor een langs te gaan, vandaar dat ik op zoek ben naar een macro.
 
Als je iets met een macro wil dan kan je toch een macro-opname starten? Deze opname kan je dan desgewenst aanpassen naar wat betere code. Je mag de code ook hier plaatsen tussen codetags met het bestand erbij. Het weg filteren van lege cellen zoals in #2 is niet voldoende?
 
Het wegfilteren in #2 is inderdaad niet voldoende omdat dan de projecten wegvallen zonder deelprojecten. Bekijk bijlage DtDeelproject.xlsm

Dit is de code om project A uit te klappen met subtotalen. Je zou eigenlijk een range willen aflopen met projecten waarvan je de subtotalen wilt zien. In het bestand zie je een range in kolom A. Op de een of andere manier zou je die cellen een voor een af moeten lopen en de celwaarde dynamisch maken in onderstaande code PivotItems("dynamische variable in range"). In deze richting zit ik te denken.

Code:
ActiveSheet.PivotTables("Draaitabel1").PivotFields("Project ").PivotItems("A"). _
        ShowDetail = True
 
Ik weet niet wie je in de vraagstelling is. Maar met een extra kolom kom je volgens mij ook een heel eind. En anders begrijp ik er totaal niets van.
 

Bijlagen

@VenA, in je bijgevoegde overzicht vallen de projecten 'B' en 'D' weg in de draaitabel. Ik denk wel dat dit al een stap in de richting komt.

De draaitabel moet subtotalen uitgeklapt laten zien als deelproject = True. De draaitabel moet subtotalen laten zien, maar dan niet uitgeklapt, als deelproject = False.

Het handmatig in en uitklappen van subtotalen is te veel werk en zou beter geautomatiseerd kunnen worden. Hoop dat mijn vraagstelling nu wat duidelijker is.
 
Het geautomatiseerd in en uit laten klappen van een draaitabel op een voorwaarde, dat is de essentie. Ik heb het nu 3 maal uitgelegd, jammer dat de boodschap niet aan komt want VBA technisch is het, verwacht ik, niet zo moeilijk maar heb niet de kennis om dit te programmeren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan