6.7k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich brauche in einem sheet nach durchlauf eines Codes eine Summenformel:
..
Range("L3").FormulaLocal = "=Summe(J3:K3)"
.....
Das klappt soweit aber ich benötige diese Formel mit variablen Summanden, wobei i der Spalten-Index für den ersten und j der Index für den letzten Summanden ist. Habe schon alles versucht, auch mit CR... aber leider bisher erfolglos. Hat jemand einen Tipp wiei's geht? Danke und Gruß

6 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
= "=Summe(" Cells(i,J).Address &:" & Cells(k,j).Address &")"

Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Danke Hajo, aber da kann was nicht stimmen, ich kriege auch eine Fehlermeldung. Hab deine Formel einfach mal in einen Code geschrieben mit dem ich die Zellen J3+K3 addiere

Sub addition()

i = 10
j = 11
Range("L3").FormulaLocal= "=Summe(" Cells(i,J).Address &:" & Cells(k,j).Address &")"
Range("L3").FormulaLocal = "=Summe(J3:K3)"

End Sub

Ich suche nach einem Code, bei dem ich für die Spalten J und K Variable einsetzen kann.
Gruß Andreas
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Hajo,
du hast mich auf die richtige Spur gebracht, da war nur noch ein Syntaxfehler. Richtig ist im Beispiel:

Sub addition()

i = 10
j = 11
Range("L3").Formula = "=sum( " & Cells(3, i).Address & ":" & Cells(3, j).Address & ")"
Range("L3").FormulaLocal = "=Summe(J3:K3)"

End Sub
Gruß Andreas
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

Du könntest doch auch auf die Formel in L3 verzichten und statt dessen ihr Ergebnis erzeugen, oder..?


Sub addition()
i = 10
j = 11
Range("L3") = WorksheetFunction.Sum(Range("J" & i & ":K" & j))
End Sub


Gruß
Rainer
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Andreas,

es gibt auch noch - neben der von Rainer genannten - eine weitere Möglichkeit, das Ergebnis der Summe direkt in die Zelle zu schreiben:

Sub Addition()
i = 10
j = 11
Range("L3") = Evaluate("SUM(" & Range(Cells(i, 10), Cells(j, 11)).Address & ")")
End Sub


Bis später,
Karin
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Karin und Rainer,

danke für eure Antworten. In diesem speziellen Fall erzeugt mein Code einen sheet , in dem vom Anwender ggf. noch Datenänderungen vorgenommen werden, so dass bestimmte Datenfelder noch die Rechenformel beinhalten mussen.
Danke und Gruß
...