Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1624to1628
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortierte, dynamische Summenbildung

Sortierte, dynamische Summenbildung
25.05.2018 10:25:19
Thomas
Hallo,
dies ist mein erster Beitrag hier im Forum und ich hoffe ihr könnt mir bei meinem Problem in Excel weiterhelfen.
Mein Ziel ist es die Werte aus Spalte B mit über 8700 Einträgen sortiert zu addieren. Dabei ist das Start- und Endkriterium der Summe ein Wechsel des Vorzeichens:
Das bedeutet, dass alle Werte mit negativen Vorzeichen so "lange" addiert werden sollen bis ein positiver Wert in der Liste auftaucht. Die Summe der negativen Werte wird ausgegeben und eine neue Summe beginnt nun alle nachfolgenden positiven Werte zu addieren, bis wiederum ein negativer Wert auftaucht. Die positive Summe wird ausgegeben und eine neue Summe addiert alle negativen Werte und so weiter.
In der angehängten Exceldatei haben ich bereits beispielhaft begonnen die Summen zu addieren um das Prinzip zu verdeutlichen. Die Reihenfolge der sich abwechselnden Summen ist bei der ganzen Sache ziemlich wichtig.
Im besten Fall sollte die sortierten Summen wie in beispielhaft in Spalte E aufgelistet werden. Also ohne Leerzellen.
Hier findet ihr ein Auszug meiner Daten, sowie nocheinmal grafisch verdeutlicht wie Liste am Ende aussehen soll:
https://www.herber.de/bbs/user/121816.xlsx
Ich würde mich über einen Lösungsvorschlag sehr freuen, da ich mit meine Excelkenntnissen am Ende bin.
Danke schonmal im Voraus.
Viele Grüße,
Thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierte, dynamische Summenbildung
25.05.2018 10:49:55
UweD
Hallo Thomas
Willkommen im Forum
Hier eine VBA Lösung
in ein Modul
Sub Teilsummen_PM()
    Dim LR As Double, i As Double, Z As Integer, L As Double
    
    L = 2 'Startzeile 
    Z = 2 'Bereichstart 
    
    LR = Cells(Rows.Count, 2).End(xlUp).Row 'letzte Zeile der Spalte 
    
    'reset 
    Cells(2, 4).Resize(LR, 2).ClearContents
    
    For i = 2 To LR
        If Sgn(Cells(i, 2)) <> Sgn(Cells(i + 1, 2)) Then 'Vorzeichenwechsel suchen 
            Cells(Z, 4) = WorksheetFunction.Sum(Range(Cells(Z, 2), Cells(i, 2)))
            Cells(L, 5) = Cells(Z, 4)
            L = L + 1
            Z = i + 1
        End If
    Next
End Sub

LG UweD
Anzeige
AW: Sortierte, dynamische Summenbildung
25.05.2018 11:25:07
Thomas
Vielen Dank für die schnelle Hilfe.
Alles funktioniert. Danke :))
Eine Frage hätte ich noch.
Wenn ich das Makro auf eine andere Spalte in einem anderen Worksheet anwenden möchte, wie müsste ich den code spezifizieren?
Vielen Dank schonmal.
AW: Sortierte, dynamische Summenbildung
25.05.2018 11:36:48
Thomas
Ok hat sich erledigt. Ich habs herausgefunden. Also vielen Dank UweD für die Mega Hilfe!
AW: Sortierte, dynamische Summenbildung
25.05.2018 11:48:17
UweD
Hallo
ich hab es mal mit Variablen versehen, die du im Kopf ändern kannst...
Sub Teilsummen_PM()
    Dim TB, SP As Integer, LR As Double, i As Double, Z As Integer, L As Double, Off As Integer
        
    '**** 
    Set TB = ThisWorkbook.Sheets("Tabelle1")
    SP = 2  ' Spalte mit den wechselnden Vorzeichen 
    Off = 2 ' Spalten dahinter 
    
    L = 2 'Startzeile für Gesamtsumme 
    Z = 2 'Bereichstart 
    '***** 
    
    With TB
        LR = .Cells(.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte 
    
    'reset 
        .Cells(2, SP).Offset(0, Off).Resize(LR, 2).ClearContents
    
        For i = 2 To LR
            If Sgn(.Cells(i, SP)) <> Sgn(.Cells(i + 1, SP)) Then 'Vorzeichenwechsel suchen 
                .Cells(Z, SP).Offset(0, Off) = WorksheetFunction.Sum(.Range(.Cells(Z, SP), .Cells(i, SP)))
                .Cells(L, SP).Offset(0, Off + 1) = .Cells(Z, SP).Offset(0, Off)
                L = L + 1
                Z = i + 1
            End If
        Next
    End With
End Sub

LG UweD
Anzeige
AW: Sortierte, dynamische Summenbildung
25.05.2018 18:08:32
Thomas
Hallo,
das zweite VBA war auch richtig hilfreich.
Super, danke Uwe für die Unterstützung :)
Bis Bald
gern geschehen owt
28.05.2018 08:29:11
UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige