VBA schreibt einen Summenbezug anders als festgelegt.

06/09/2009 - 11:57 von Jürgen Stadermann | Report spam
Hallo!
Da habe ich z.Bsp. die Spalten F6 bis F25
und G6 bis G24
und H6 bis H24
Aus den Spalten F6 bis F 24 wird in F25
und in den Spalten H6 bis H24 wird in H25 per VBA die Summe berechnet.
Hier, das was in VBA drinnsteht:
ActiveCell.FormulaR1C1 = "=SUM(R[" & -zàhl + 3 & "]C:R[-1]C)"

(zàhl als Variable)

D.h. Die Summe wird bis auf genau eine Spalte davor berechnet.
Die Summenformel im Tabellenblatt sieht dann jeweils wie folgt aus:
=SUMME(F6:F24) Bz.w. =SUMME(H6:H24)

In der Salte G für den gleichen Spaltenbereich also G6:G24
soll jetzt die Summe in Spalte G26 gebildet werden.
Dazu schreibe ich für VBA wie folgt:
ActiveCell.FormulaR1C1 = "=SUM(R[" & -zàhl + 3 & "]C:R[-2]C)"
Also hinten statt R[-1] jetzt [R-2]
Doch im Tabellenblatt steht dann =SUMME(G6:G25). Also statt G24 steht
G25 drinn.
Was ist hier falsch?
Danke schon mal für aufklàrende Antworten.

Excel 2007 Sp2 auf
WinXP mit Sp3

Jürgen
 

Lesen sie die antworten

#1 Wolfgang Kutsche
06/09/2009 - 14:00 | Warnen spam
Hallo Jürgen,

"Jürgen Stadermann" wrote:
Dazu schreibe ich für VBA wie folgt:
ActiveCell.FormulaR1C1 = "=SUM(R[" & -zàhl + 3 & "]C:R[-2]C)"
Also hinten statt R[-1] jetzt [R-2]
Doch im Tabellenblatt steht dann =SUMME(G6:G25). Also statt G24 steht
G25 drinn.


Deine Aussage ist falsch
… richtig müsste Deine Aussage lauten:
in der Zelle G26 steht die Formel "=Summe(G7:G24)"

... und so müsste Dein Makro aussehen:

Option Explicit
Dim zàhl As Integer
Sub FormelnSchreiben()
zàhl = 22
Range("F25").FormulaR1C1 = "=SUM(R[" & -zàhl + 3 & "]C:R[-1]C)"
Range("G26").FormulaR1C1 = "=SUM(R[" & -zàhl + 2 & "]C:R[-2]C)"
Range("H25").FormulaR1C1 = "=SUM(R[" & -zàhl + 3 & "]C:R[-1]C)"
End Sub
Der Fehler lag also in der Startzeile der Summierung.

Gruß Wolfgang
WinXP Home SP3, Office 2003 SP3 & 2007 SP1
http://www.wk-bau-edv.de

Ähnliche fragen