Hi Tanja,
ich will Gabi nicht in die Bresche springen und euren Gesprächslerlauf stören, darum dieser gesonderte Themenverlauf hier.
Beim Überfliegen der Beiträge habe irgendwie das Gefühl bekommen, das man sich da in etwas verrant hat.
Ansich müsste es so funktionieren:
-
es wird davon ausgegangen, dass das aktive Blatt das auszuwertende Tabellenblatt ist
-
es werden nur Zellen in der zu betrachtenden Spalte (C_SPALTE_SUMMIEREN) berücksichtigt die ausschließlich Zahlen beinhalten
-
in jedem (Schleifen-)Durchgang wird zur vorherigen Summe der neue Zahlenwert hinzuaddiert
-
sollte die Zelle bereits vor dem Hinzuaddieren den Wert der bis dahin gebildeten Summe haben, dann wird dieser Wert in eine andere Spalte (C_SPALTE_AUSGABE) geschrieben (das mit dem "doppelt" erscheint mir an der Stelle nicht zwingend notwendig)
Option Explicit
Public Sub test()
Const C_SPALTE_SUMMIEREN = "A"
Const C_SPALTE_AUSGABE = "B"
Dim rngBereich As Excel.Range
Dim rngZelle As Excel.Range
Dim curSumme As Currency
With ActiveSheet
Set rngZelle = .Cells(.Rows.Count, C_SPALTE_SUMMIEREN).End(xlUp)
Set rngBereich = .Range(.Cells(1, C_SPALTE_SUMMIEREN), rngZelle)
End With
For Each rngZelle In rngBereich
If IsNumeric(rngZelle.Text) Then
If curSumme = CCur(rngZelle.Value) Then
With rngZelle.Worksheet.Cells(rngZelle.Row, C_SPALTE_AUSGABE)
.Value = CDbl(curSumme)
End With
curSumme = 0
Else
curSumme = curSumme + CCur(rngZelle.Value)
End If
End If
Next
End Sub
Würde mich interessieren wie das bei dir läuft.
Gruß
|