• 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 tot bovenstaande cel (variabel)

Status
Niet open voor verdere reacties.

LuukH94

Gebruiker
Lid geworden
19 jul 2018
Berichten
14
Hallo,

Ik loop tegen een probleem aan het optellen van bepaalde cellen. Ik heb te maken met een dump vanuit een ander programma, waarin kopjes worden aangemaakt met daaronder kostenregels. De hoeveelheid kostenregels is variabel per kopje, waarbij het soms wel 10-50 kopjes- en onder de kopjes soms wel 100-200 kostenregels betreft.

Ik zou in Excel graag de kostenregels opsommen tot aan het kopje erboven, echter is het me tot op heden niet gelukt om dit te automatiseren. Ik zou vanzelfsprekend alles handmatig kunnen optellen met
Code:
=som(
, echter zou ik het graag automatiseren (gezien het feit dat het veelal 500-1000 regels betreft).

Ik heb geen voorbeeld formule of geen progressie tot op heden, gezien ik geen idee heb ik hoe ik dit aan moet pakken. Wel heb ik een kort voorbeeld blad uitgewerkt. In het voorbeeld ligt het belang in kolom H. Ik zou willen dat kolom H de 'Tot. Kosten uren' opsomt tot aan bovenstaande blauwe regels, echter is het probleem (nogmaals) dat de hoeveelheid witte regels per blauwe regel variabel is.

Ik hoop dat ik het duidelijk heb uitgelegd.

Alvast ontzettend bedankt voor de hulp! :thumb:
 

Bijlagen

  • Voorbeeld opsomming HELPMIJ.xlsx
    9,2 KB · Weergaven: 38
en hoe ziet zo'n dump er uit?
 
Dank voor de reacties.

@Haije de dump ziet eruit zoals het voorbeeld. De kopjes zijn hetzelfde, echter zijn de getallen en omschrijvingen door mij aangepast.


@JanBG Ik wil de kosten totale kosten van de uren alleen op de blauwe regels laten zien, of te wel, ik wil de kosten van bekabeling, handremmen en stuurframe, opgesomd hebben naar de regel Stuur; ook wel, de samenvattingsregel genoemd.
 
in die dump staan ook al de kleurtjes?
 
@Haije. Ja, de kleuren komen uit de dump. Evenals de 'itemcode' helemaal aan het begin. Idealiter zou ik zeggen dat de witte regels opgesomd worden naar de blauwe regel doormiddel van een formule met de itemcode, maar iets met kleur zou ik dat opzicht ook mogelijk kunnen zijn.
 
kijk eens naar deze bijlage. Daarin heb ik alleen in kolom B per regel een item toegevoegd en in kolom H een formule SOMMEN.ALS gezet.
Daarnaast de edraaitabel van JanBG aangepast
 

Bijlagen

  • Voorbeeld opsomming HELPMIJ jbg HS.xlsx
    14,3 KB · Weergaven: 29
Om een duidelijker beeld te geven heb ik mijn voorbeeld uitgewerkt. Vanaf kolom N is er een lijst met unieke urencodes weergegeven. Het invullen van een urencode in kolom G zorgt ervoor dat de uren voor een bepaalde regel worden weergegeven in de lijst vanaf kolom N. Vanuit de dump worden deze kosten weergegeven in de witte regels, waarbij de unieke urencode tevens is weergegeven in de elementcode. Het probleem ligt hem in het feit dat ik deze kosten voor elke unieke code weergegeven wil hebben op de blauwe regels ipv de witte regels.


In de bijlage die je hebt bijgevoegd staat in kolom H handmatig ingevoerd dat de bovenste blauwe regel B4 neemt en de tweede blauwe regel B7 neemt. Dit handmatige kan ik mij niet permitteren, vandaar dat de opsomming problematisch is.


Misschien iets met een Index/vergelijken functie? Of een verticaal/horizontaal zoeken functie? Mijn kennis is beperkt op dit vlak.
 

Bijlagen

  • Voorbeeld opsomming HELPMIJ 2.xlsx
    64,4 KB · Weergaven: 25
Laatst bewerkt:
het handmatig valt wel mee hoor, ik heb alleen de eerste formule handmatig opgesteld en hem daarna m.b.v. Ctrl+C en Ctrl+V gekopieerd naar de andere cellen, waarin je een totaal wilt.
 
@Haije Dat is inderdaad geen probleem als dat maar tweemaal hoeft te gebeuren, echter heb ik veelal bestanden waar een dergelijke stap misschien wel 1000 keer gemaakt moet worden.
 
kijk eens in kolom M
 

Bijlagen

  • Voorbeeld opsomming HELPMIJ jbg HS.xlsx
    15 KB · Weergaven: 28
Ik begrijp de formule om eerlijk te zijn niet. Zoals in jouw voorbeeld in kolom M is weergegeven is zoals ik het zou willen zien. Tevens betreft het veelal codes en was fiets slechts een platgeslagen voorbeeld.

Bijgevoegd een laatste voorbeeld. De benodigde uren zijn in deel 2 toebedeeld aan een urencode. De benodigde uren per urencode dienen echter weergegeven te worden op de blauwe regel erboven.
 

Bijlagen

  • Voorbeeld opsomming HELPMIJ 3.xlsx
    68,7 KB · Weergaven: 40
Laatst bewerkt:
Oeps, de formule was niet helemaal zoals bedoeld; deze wel

deze formule betekent:

Code:
=ALS(A4<>"";SOMMEN.ALS($H5:$H$9999;$B5:$B$9999;$B4);"-")

ALS(A4<>"": als in kolom A niets staat dan een "-" tonen en anders
tel alles bij elkaar uit kolom H waarvoor geldt dat er in kolom B hetzelfde staat als in de blauwe cel

De waarde in kolom B bepaalt dus wat er bij elkaar hoort en de waarde in kolom A bepaalt of er een totaal moet komen of niet.
 
Laatst bewerkt:
Inmiddels ben ik erachter dat ik het met een simpele formule/draaitabel niet ga redden, waarbij ik omwille hierom aan de slag ben gegaan met VBA. Momenteel heb ik een macro die de subtotalen optelt tot de eerste lege regel eronder, echter lukt het me niet om deze op te tellen tot de regel erboven ipv eronder. Onderstaand de macro:

Code:
Sub MakeTotal()
Dim sh As Worksheet     ' Blad1
Dim i As Long           ' Row index
Dim Firstrow As Long    ' Firstrow
Dim RunTot As Double    ' Running total

' initalize variables
Set sh = Sheets("Blad1")
Firstrow = sh.Range("c" & Rows.Count).End(xlUp).Row + 1
RunTot = 0

' Loop through the cells in column H
For i = 2 To Firstrow
    If sh.Cells(i, "D") = "" Then
        ' The cell is blank, fill it in with the running total
        ' and reset the running total
        sh.Cells(i, "D") = RunTot
        RunTot = 0
    Else
        ' The cell has data, add it to the running total
        RunTot = RunTot + sh.Cells(i, "D")
    End If
Next i

End Sub
 
obv het bestandje in #1

Code:
Sub VenA()
  For Each ar In Sheets("Blad1").Columns(8).SpecialCells(2, 1).Areas
    ar.Cells(1).Offset(-1) = Application.Sum(ar)
  Next ar
End Sub
 
Laatst bewerkt:
Misschien groeperen en daarmee de subtotalen ophaalt; die je ook weer ongedaan kan maken.

Op basis van het laatst geplaatste bestand.
Code:
Sub subtotaal()
Application.DisplayAlerts = False
  Sheets(1).Cells(1).CurrentRegion.Resize(, 16).Subtotal 1, xlSum, 4
  Application.DisplayAlerts = True
End Sub


Sub verwijdersubtotaal()
 Cells.RemoveSubtotal
End Sub
 
Dank voor de reacties. Inmiddels tot de volgende macro gekomen:

Code:
Sub Subtotaal_uren()
Dim sh As Worksheet     ' Blad1
Dim i As Long           ' Row index
Dim LRow As Long        ' Last row
Dim RunTot As Double    ' Running total

Set sh = Sheets("Blad1")
LRow = sh.Range("C" & Rows.Count).End(xlUp).Row  
RunTot = 0

For i = LRow To 2 Step -1
        If sh.Cells(i, "AA") = "" Then
         sh.Cells(i, "AA") = RunTot
         RunTot = 0
    Else
        RunTot = RunTot + sh.Cells(i, "AA")
    End If
Next i

End Sub

Nu wil ik 'm alleen niet door slechts één column laten lopen, maar door meerdere. Het lukt met echter niet om dit juist te definiëren.
 
Je kan mijn code aanpassen door de 4 te veranderen in
Code:
array(4,5,6,7)
 
Mijn macro <> jouw macro
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan