Supportnet / Forum / Tabellenkalkulation
Summe unter letzter zelle bilden
Frage
Hallo wie kann man per makro eine summe immer unter der letzten zelle in meiner tabelle bilden?
daten stehen in den spalten D bis BC.
Danke
Gruß
Tim
Antwort 1 von Saarbauer
Hallo,
musst du wahrscheinlich für jede Spalte extra machen oder als Schleife
Für Spalte D
Cells(Range("D65536").End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Range("C65536").End(xlUp).Row & "C4)")
Wenndu es mit einer Schleife machst, dann
Cells(Range("D65536").End(xlUp).Row + 1, i).Formula = ("=SUM(R2C" & i & ":R" & Range("C65536").End(xlUp).Row & "C" & i & ")")
i steht für den Schleifen index und fängt mit 4 an und Spalte BC ist 55
Gruß
Helmut
musst du wahrscheinlich für jede Spalte extra machen oder als Schleife
Für Spalte D
Cells(Range("D65536").End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Range("C65536").End(xlUp).Row & "C4)")
Wenndu es mit einer Schleife machst, dann
Cells(Range("D65536").End(xlUp).Row + 1, i).Formula = ("=SUM(R2C" & i & ":R" & Range("C65536").End(xlUp).Row & "C" & i & ")")
i steht für den Schleifen index und fängt mit 4 an und Spalte BC ist 55
Gruß
Helmut
Antwort 2 von Saarbauer
Hallo,
habe noch einen Fehler festgestellt
Cells(Range("D65536").End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Range("D65536").End(xlUp).Row & "C4)")
und dann
Cells(Cells(65536, i).End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Cells(65536, i).End(xlUp).Row & "C4)")
Gruß
Helmut
habe noch einen Fehler festgestellt
Cells(Range("D65536").End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Range("D65536").End(xlUp).Row & "C4)")
und dann
Cells(Cells(65536, i).End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Cells(65536, i).End(xlUp).Row & "C4)")
Gruß
Helmut
Antwort 3 von Tim85
Hallo Helmut,
habe es jetzt so gebaut:
Sub Summe()
Cells(Range("D65536").End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Range("D65536").End(xlUp).Row & "C4)")
Cells(Cells(65536, i).End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Cells(65536, i).End(xlUp).Row & "C4)")
End Sub
Funktioniert leider so nicht...
Gruß
Tim
habe es jetzt so gebaut:
Sub Summe()
Cells(Range("D65536").End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Range("D65536").End(xlUp).Row & "C4)")
Cells(Cells(65536, i).End(xlUp).Row + 1, 4).Formula = ("=SUM(R2C4:R" & Cells(65536, i).End(xlUp).Row & "C4)")
End Sub
Funktioniert leider so nicht...
Gruß
Tim
Antwort 4 von rainberg
Hallo Tim,
hier mein Vorschlag:
Gruss
Rainer
hier mein Vorschlag:
Option Explicit
Sub summe()
Dim intSp As Integer
For intSp = 4 To 55 'Spalte D bis Spalte BC
Cells(Cells(Rows.Count, intSp).End(xlUp).Row + 1, intSp).Value _
= WorksheetFunction.Sum(Range(Cells(1, intSp), Cells(Cells(Rows.Count, intSp).End(xlUp).Row, intSp)))
Next
End SubGruss
Rainer
Antwort 5 von Tim85
Hallo Rainer,
funktioniert bestens, allerdings fügt er nicht die Formel ein sondern nur den Wert.
da ich später mit der Tabelle arbeiten will, benötige ich die Summen-Formel.
Vielen Dank.
Gruß
Tim
funktioniert bestens, allerdings fügt er nicht die Formel ein sondern nur den Wert.
da ich später mit der Tabelle arbeiten will, benötige ich die Summen-Formel.
Vielen Dank.
Gruß
Tim
Antwort 6 von rainberg
Hallo Tim,
dann so:
Gruss
Rainert
dann so:
Option Explicit
Sub summe()
Dim intSp As Integer
For intSp = 4 To 55
Cells(Cells(Rows.Count, intSp).End(xlUp).Row + 1, intSp).FormulaR1C1 _
= "=SUM(INDIRECT(CHAR(64+COLUMN())&ROW(R1)&"":""&CHAR(64+COLUMN())&ROW()-1))"
Next
End SubGruss
Rainert
Antwort 7 von Tim85
Hallo,
ich weiß nicht warum, aber von Spalte AH bis AI funktioniert es nicht.
Dort steht leider:
#BEZUG!
Gruß
Tim
ich weiß nicht warum, aber von Spalte AH bis AI funktioniert es nicht.
Dort steht leider:
#BEZUG!
Gruß
Tim
Antwort 8 von rainberg
Hallo Tim,
war ein Schuss in den Ofen, funktioniert logischer Weise nur bis Spalte Z.
Nimm diesen Code.
Gruss
Rainer
war ein Schuss in den Ofen, funktioniert logischer Weise nur bis Spalte Z.
Nimm diesen Code.
Option Explicit
Sub summe()
Dim intSp As Integer
For intSp = 4 To 55
Cells(Cells(Rows.Count, intSp).End(xlUp).Row + 1, intSp).FormulaR1C1 _
= "=SUM(INDIRECT(ADDRESS(ROW(R1),COLUMN())&"":""&ADDRESS(ROW()-1,COLUMN())))"
Next
End Sub
Gruss
Rainer
Antwort 9 von Tim85
Vielen, vielen DANK!!
Hast mir sehr geholfen!!!
Gruß
Tim
Hast mir sehr geholfen!!!
Gruß
Tim

