So wie angekündigt, mein so hoffe ich letztes "großes Problem"
Und zwar möchte ich innerhalb dieser Funktion, siehe Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'die Spalten die max beschrieben sind noch anpassen
If Not Intersect(Target, ActiveSheet.Columns("E:M")) Is Nothing Then
letzteZeile = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
MsgBox letzteZeile
For zeile = 5 To letzteZeile
Cells(zeile + 1, 2).Value = Application.WorksheetFunction.Sum(Range(Cells(zeile, 5), Cells(zeile + 1, nächstfreieZellefipa - 2)))
zeile = zeile + 3
Next
End If
End Sub
Nun weitere Berechnungen durchführen. Das ganze könnte mitunter etwas kompliziert werden.
Ich möchte beginnen von Spalte 5 (also Spalte E) von der fünften bis zur letzten Zeile jeweils eine Summe bilden. Die Summe wiederum setzt sich immer aus den nächsten 4 Zeilen zusammen.
Also Startwert ist: Spalte 5, Zeile 5. Dieser Wert soll mit Spalte 5, Zeile 9, Spalte 5, Zeile 13, Spalte 5, Zeile 17 bis Ende addiert werden.
Das Ergebnis soll in die letzte freie Zeile + 4 der soeben addierten Spalte eingetragen werden.
Wenn das Ergebnis ermittelt wurde, dann soll die nächste Spalte berechnet werden, also die Spalte 6
Ergebnis = Spalte 6, Zeile 9, Spalte 6, Zeile 13, Spalte 6, Zeile 17 usw. bis zum Ende addiert werden.
Das ganze soll bis einschließlich zum Ende der letzten Spalte innerhalb des Tabellenblatts addiert werden.
Wäre das für jemanden mit möglichst wenig Aufwand umsetzbar? Ich bin ehrlich gesagt schon froh darüber, dass mein Code oben funktioniert. Ich hab gestern paar Stunden rumexperimiert aber komme auf keinen grünen Zweig. Benötige ich zwei Schleifen hierfür? Einmal damit die ganze Spalte E und dann die restlichen Spalten durchlaufen werden?
WIe gesagt der "Startpunkt" der Summierung ist IMMER Spalte 5, Zeile 6. Das Zeilenende der Spalte ist quasi immer "ungewiss" bzw. nicht bekannt. Nachdem die Spalte 5 korrekt summiert wurde, soll die nächste Spalte berechnet werden, also Spalte 6 (Spalte F). Startpunkt ist auch hier wieder die Reihe 6.
|