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

Dynamisch optellen per dynamisch gebied

Status
Niet open voor verdere reacties.

HWV

Terugkerende gebruiker
Lid geworden
19 feb 2009
Berichten
1.183
Beste,

Ik heb een bestand waar in kolom E bedragen staan van diverse klanten.
Tussen de verschillende klanten zitten altijd drie lege regels.
Nu wil ik onder aan elke klant een sub totaal per klant hebben.

Ik ben al dicht bij het resultaat, enkel de eerste telt hij goed, maar daarna telt hij de bovenliggende bedragen mee bij de volgende klanten

Let op dat elke keer het aantal regels per klant verschillend kan zijn.
Tot nu toe heb ik dit:

Code:
Sub SubToaalPerKlant()

Application.GoTo Sheets("blad1").Range("E2"), True

ActiveSheet.Range("E2").End(xlDown).Offset(2, 0).Activate
ActiveCell = Application.WorksheetFunction.Sum(Range(ActiveCell, Cells(ActiveCell.End(xlUp).Offset(0).Row)))

ActiveCell.Offset(2, 0).Activate

ActiveCell.End(xlDown).Offset(2, 0).Activate
ActiveCell = Application.WorksheetFunction.Sum(Range(ActiveCell, Cells(ActiveCell.End(xlUp).Offset(0).Row)))

ActiveCell.Offset(2, 0).Activate

ActiveCell.End(xlDown).Offset(2, 0).Activate
ActiveCell = Application.WorksheetFunction.Sum(Range(ActiveCell, Cells(ActiveCell.End(xlUp).Offset(0).Row)))

End Sub

Graag hoor ik jullie opmerkingen c.q. suggesties

HWV

Bekijk bijlage Klantomzet.xlsm
 
Maak onderscheid tussen invoer (= database) en uitvoer (= rapportage). Ofwel, maak van je invoergegevens 1 aaneengesloten tabel en zet daar een draaitabel op. Hoef je zelf niet te gaan klooien met VBA. ;)
 
Helaas

Dank voor jou bericht.

Zo had ik het ook eerst aangeleverd aan onze klant.
Helaas wil hij het zo niet aangeleverd krijgen :( hij kan daar niet mee werken geef hij aan.
Vandaar dat ik opzoek ben gegaan naar een andere oplossing voor deze klant en kan ik voor meerdere klanten gaan gebruiken

HWV
 
Maak in een voorbeeld eens duidelijk waar je wat invoert en wat je wil/moet rapporteren. Een paar zwevende cellen ergens in het werkblad lijkt niet echt op een gestructureerde invoer en is ook niet echt geschikt om er een macro voor te schrijven.
 
Bekijk bijlage Klantomzet.xlsm

IK had het bestand verkleind i.v.m. gevoelige data.
In de bijlage een opmaak zoals ik het uit ons ERP systeem haalt.
Kolom E daar komt de omzet te staan, dat varieer per klant per regel soms heeft hij 15 regels omzet en soms 300 regels omzet.
Het aantal klanten hangt af van de groep waarvoor ik de lijst moet maken, voor deze klant is dit tussen de 16 en 20 klanten die in de lijst kunnen staan.

Ik hoop dat ik hier iets meer duidelijkheid heb gegeven wat ik wil bereiken.

HWV
 
Zet in cel B1 een tekst (kolomkop).
Code:
Sub subtotaal()
  Sheets("Blad1").UsedRange.Subtotal 4, xlSum, 5, , , -1
End Sub


Sub verwijdersubtotaal()
 Cells.RemoveSubtotal
End Sub
 
Laatst bewerkt:
Opgelost

Bedankt voor de oplossing.
Ik heb het wel eens gezien dat deze functie gebruikt werd, wel wat mee geoefend maar niet aan gedacht om dat hier in te zetten.
Ik krijg idd het eindresultaat wat ik nodig heb voor deze klantgroepen, dank hiervoor.

HWV :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan