VBA - Summe ermitteln

Hallo zusammen,

ich versuche mit einem Makro eine Summe zu ermittlen aus einer
unbekannten Anzahl von Zeilen.

z.B.

____A___ B___ C

1___ 5_ __7

2__ 12____3

3___15___8
.
.
.

Angenommen ich möchte in Zelle C1 die Summe(A1:B1) stehen haben und ich weiß nicht, wieviele Zeilen das Makro bearbeiten muß, damit ich auch wirklich alle Ergebnise erhalte. ( Also Summe(A2:B2))u.s.w. bis das Excel sheet keinen Eintrag mehr in Spalte A hat.

Dazu weiß ich inzwischen, daß dies mit einer for next Schleife funktioniert.

Das Makro dafür lautet:

Sub Summe
dim i as long
for i = 1 to activesheet.usedrange.rows.count
cells(i,3).value = _
cells(i,1).value + cells(i,2).value
next i
end sub.

Der Nachteil von diesem Makro ist aber,
daß ich in der Zelle C1 das Ergebnis 12 drinnen stehen habe, aber nicht die Formel in der Bearbeitungsleiste ( =Summe(A1:B1)). Das ist aber wichtig für mich.

Ich weiß auch, daß ich die Formel in der Bearbeitugszeile mit der Eigenschaft " Formula" bekomme

Das Makro lautet:

range(„a1“).select

do until activecell.Value = „“
Activecell.Offset(0,3).formula = _
"=Summe(A1:B1)
activecell.offset(1,0).select
loop
end sub

Der Nachteil hier ist aber, daß jetzt nur die Summe(A1:B1)berechnet wird. Mit einer Kombination aus beiden Ansätzen komme ich auch nicht weiter.

Für eure Hilfe bin ich immer sehr dankbar.

MfG

Dudel

Hi Dudel,
ist jetzt n bisschen schnell zusammen getippt aber es löst Dein Problem. Mit der Fill Range Funktion kann man das ganze noch eleganter machen. Erste Fomel setzen und Excel kopieren lassen (wie beim Doppelklick auf das schwarze Quadrat am rechten unteren Markierungsrand).

Hier der Code:

Option Explicit
Sub Makro1()

Dim i, j As Integer
Dim bValue As Boolean
Dim formula As String

'Anzahl Zeilen ermitteln
bValue = True 'Zeile gefüllt?
i = 0 'Startzeile
While bValue
If Cells(i + 1, 1).Value = „“ Then
bValue = False
Else
i = i + 1
End If
Wend

'Formel setzen
formula = „=SUM(RC[-2]:RC[-1])“
If i 0 Then
For j = 1 To i
Cells(j, 3).Select
ActiveCell.FormulaR1C1 = formula
Next
Else
MsgBox „keine Einträge“
End If
End Sub