Hallo! Also eine Bild mache ich immer mit Alt und Druck und füge es dann in Word ein - oder ein Bildbearbeitungsprogramm. Von dort speicher ich es und füge es einfach nur ein. Also unten mal der Code mit einer kleinern Änderung. Die Summer aus D wird nun in B eine Zeile unter Summe eingetragen. Ich hoffe, ich finde da die richtige Zeile. :-)
Weiß jetzt nur nicht, wie an die Stelle von 11110 was anderes kommen soll. Das ist doch die Zeile, in der in A Summe steht. Also wird doch ab E der selben Zeile die Summe der einzelnen Spalten eingetragen. Da dürfte doch gar nix mehr anderes stehen - zumindest nicht aus dem Code von uns. In D hat der Code doch nur bis eine Zeile darüber die Spalte E bis AF summiert. Den Eintrag mit Versatz gab es nur in Spalte B. In D steht die SUmme in der selben Zeile. Stand da schon was drin / eine Formel etc? VG
Private Sub Worksheet_Change(ByVal Target As Range)
Dim spalte As Long
Dim zeilesum As Long
Dim versatz As Long
Dim letztezeile As Long
Dim zeile As Long
Dim summe As Long
Dim l As Long
Dim vorletztespalte As Long
vorletztespaltefipa = Cells(3, Columns.Count).End(xlToLeft).Column - 1
zeilesum = Application.Match("Summe", ActiveSheet.Columns(1), 0)
'nur wenn eine Zelle geändert wurde ausführen
If Target.Count = 1 Then
'prüfen ob Spalte E bis M
If Not Intersect(Target, ActiveSheet.Columns("E:AF")) Is Nothing Then
letztezeile = ActiveSheet.Cells(Rows.Count, 3).End(xlUp).Row
'nur wenn ab Zeile 5 bis Zeile vor der Summe
If Target.Row > 4 And Target.Row < zeilesum Then 'hier noch die Änderung zur Prüfung
For zeile = 5 To letztezeile Step 4
Cells(zeile + 1, 2).Value = Application.WorksheetFunction.Sum(Range(Cells(zeile, 5), Cells(zeile + 1, 32)))
Next
'Summe in Spalte D
If (Target.Row Mod 4) <> 0 Then Cells(Target.Row, 4).Value = Application.WorksheetFunction.Sum(Range(Cells(Target.Row, 5), Cells(Target.Row, 32)))
'jetzt summieren
'jetzt die Spalte summieren
spalte = Target.Column
summe = 0
'jeden vierten wert addieren
versatz = (Target.Row Mod 4)
If versatz = 0 Then
Else
For l = 4 + versatz To zeilesum - 1 Step 4
summe = summe + ActiveSheet.Cells(l, spalte)
Next l
End If
'jetzt eintragen
versatz = (Target.Row Mod 4 - 1)
If versatz = -1 Then
Else
ActiveSheet.Cells(zeilesum + versatz, spalte) = summe
End If
'Gesamtsumme aber in Spalte B
ActiveSheet.Cells(zeilesum + 1, 2) = Application.WorksheetFunction.Sum(Range(Cells(5, 4), Cells(zeilesum - 1, 4)))
End If
End If
End If
End Sub
|