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

Totaal van een variabele kolom in VBA

Status
Niet open voor verdere reacties.

regenTon

Gebruiker
Lid geworden
6 mei 2015
Berichten
33
Beste allemaal,

Ik krijg met regelmaat een excelsheet toegestuurd die ik moet bewerken.
Af en toe moeten er een paar regels tussenuit, maar dat heb ik al onder controle.

Ik weet niet, omdat de lijst telkens van lengte verandert, hoe ik de totaal optelling per kolom moet doen in VBA of macro.
In het voorbeeld bestand staan al totalen. op die plek zou ik dat ook graag hebben.

Alvast bedankt.

Bekijk bijlage Optelling xlsx.xlsx
 
Als je steeds een excelsheet toegestuurd krijgt en het format is altijd gelijk aan het voorbeeld dan kun je ook het volgende doen:
1 Selecteer cel C2
2 Houdt Control+Shift ingedrukt en druk eenmaal op pijltje rechts en eenmaal pijltje naar beneden.
3 Laat vervolgens alleen de Control los (Shift nog vast) en druk 2 maal op pijltje naar beneden.
4 druk vervolgens op AutoSum (zie afbeelding)
autosum.png
 
Deze truck ken ik in excel

Gijsbert1,

Bedankt, maar dat is niet mijn bedoeling. Ik krijg dagelijks tientallen sheets en wil niet telkens die handeling uitvoeren.
Ik zoek naar een macro of een VBA script die ik uiteindelijk in het lint wil plaatsen.

Toch bedankt.
 
En ken je deze truc?
Code:
Sub tsh()
    Dim lRow As Long
    
    lRow = Cells(Rows.Count, 1).End(xlUp).Row
    With Cells(lRow + 2, 3).Resize(, 5)
        .FormulaR1C1 = "=SUM(R[-" & lRow & "]C:R[-2]C)"
        .Borders(xlEdgeTop).LineStyle = xlContinuous
        .Borders(xlEdgeBottom).LineStyle = xlDouble
    End With
End Sub
 
Timshel,

Deze truc kende ik dus niet!
Het is precies wat ik zocht en werkt perfect.

Heel hartelijk bedankt!
 
Je kan er ook een tabel van maken.

Code:
Sub VenA()
  ActiveSheet.ListObjects.Add(xlSrcRange, Cells(1).CurrentRegion, , xlYes).Name = ActiveSheet.Name
  ActiveSheet.ListObjects(1).ShowTotals = True
End Sub
 
Daar ga ik even mee stoeien.
Ik kan mij het voordeel hiervan nog niet voorstellen, maar van kijken en proberen leer je het meest.

Bedankt, VenA.
 
Je kan het ook nog groeperen, die je ook weer ongedaan kan maken met de tweede code.
Code:
Sub subtotaal()
  Sheets(1).UsedRange.Subtotal 1, xlSum, Array(3, 4, 5, 6, 7), , , 1
End Sub


Sub verwijdersubtotaal()
 Cells.RemoveSubtotal
End Sub
 
HSV,

FF getest, héél handig en goed om te weten!

PS: ik heb de macro op het lint geplaatst, dat werkt. Echter als ik blad twee aanmaak en even alles kopieer naar dat blad, blijft de macro stoiceins op blad alleen werken.
Is het mogelijk de macro op het actieve geselecteerde blad te laten werken?

Alvast bedankt.
 
Vervang 'sheets(1)' door 'activesheet'.
 
Graag gedaan regenTon,

Als je de eindtotalen bovenaan wilt om niet te hoeven scrollen verwijder je de laatste drie komma's en de 1
 
Harry,

Is het mogelijk om de som van kolom C te transporteren naar "Blad-totalen" range("C5")?
PS: ik wordt steeds enthousiaster als het gaat om de mogelijkheden binnen Excel/VBA en heb een cursusboek aangevraagd.
Alvast bedankt.
 
Code:
Sheets("Blad-totalen").range("C5").value=cells(rows.count,3).end(xlup).value
 
Harry,

Deze code: Sheets("Blad-totalen").range("C5").value=cells(rows.count,3).end(xlup).value werkt prima, het laat alleen de de eerste waarde van de eerste kolom zien.
Graag zou ik alle waardes op blad "Blad-totalen" zien.

Overmoedig als ik was, ben ik de hele dag aan het prutsen geweest en helemaal niets voor elkaar gekregen.
Gaarne uw zeer gewaardeerde hulp.

Alvast bedankt,
Willem.
 
Die code kwam niet van mij, maar voldeed wel aan je vraag.
Code:
Sub subtotaal()
  Sheets(1).UsedRange.Subtotal 1, xlSum, Array(3, 4, 5, 6, 7), , , 1
  Sheets("Blad-totalen").Range("C5").Resize(, 5) = Sheets(1).Cells(Rows.Count, 3).End(xlUp).Resize(, 5).Value
End Sub
 
Harry ik heb extra hulp nodig

Beste Harry,

Nogmaals bedankt voor uw hulp. Bij deze doe ik nogmaals een beroep op uw (voor mij althans) onmetelijke kennis.

Ik heb een bestand bijgevoegd Bekijk bijlage 04-SaldiCreC - testbestand.xlsm met wat extra informatie in tekstballonnen om e.e.a. te verduidelijken en een extra sheet toegevoegd "Basis bedragen" om eventueel te knippen en te plakken in blad "04-SaldiCreC"

Ik krijg de (lastrow) informatie van blad "04-SaldiCreC" niet op de goede plek in het blad "Blad-totalen" en als ik de macro gebruik, krijg ik een melding ivm. gegevens groeperen?? Ik snap groeperen wel, maar niet waarom de melding verschijnt.

Ik hoop dat u nogmaals wilt helpen,
Alvast weer hartelijk dank voor uw hulp.
 
Is dit iets voor je?
 

Bijlagen

  • 04-SaldiCreC - testbestand.xlsb
    27 KB · Weergaven: 55
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan