Supportnet / Forum / Tabellenkalkulation
Syntaxproblem bei Summenbildung im Makro
Frage
Hallo zusammen,
wie schon in der Überschrift beschrieben habe ich ein Problem mit einem Makr, in dem u.a. eine Summe gebildet wird. Dieses enthält folgende Zeile:
ActiveCell.FormulaR1C1 = "=SUM(R[-43]C:R[-1]C)"
Diese Formel addiert alle Zellen oberhalb der Zelle, in der sie eingetragen wurde.
Problem ist, dass das Makro variabler werden muss. Das bedeutet, dass sich die Position dieses Eintrages immer wieder verändern kann.
Wie kann ich in dieser Formel Variablen eintragen? Genauer: Im Augenblick steht dieser Eintrag in Zelle A45 und es werden die 42 Zeilen über dieser Zelle addiert. In Zukunft sollen die x Zellen über dieser Zelle addiert werden. Wie sieht die Formel dann aus?
ActiveCell.FormulaR1C1 = "=SUM(R[-"&x"]C:R[-1]C)" ... funktioniert nicht. Es folgt bei der Eingabe immer die Fehlermeldung: Fehler beim Kompilieren: Erwartet: Anweisungsende
Please HELP!
Danke schön schonmal.
Gruß
fubajunkie
Antwort 1 von fubajunkie
und ein Zusatz:
auch mit absoluten Bezügen bekomme ich das nicht hin. Die Formel:
ActiveCell.FormulaR1C1 = "=SUM(""AC2:AC"" & x"")"
funktioniert auch nicht, weil die Variable x nicht als Variable, sondern als Zeichen interpretiert wird.
Auch wenn man 2 der " weglässt kommt ein Fehler. wie man sieht rate ich schon wild in der Gegend rum.
Gruß
Fubajunkie
auch mit absoluten Bezügen bekomme ich das nicht hin. Die Formel:
ActiveCell.FormulaR1C1 = "=SUM(""AC2:AC"" & x"")"
funktioniert auch nicht, weil die Variable x nicht als Variable, sondern als Zeichen interpretiert wird.
Auch wenn man 2 der " weglässt kommt ein Fehler. wie man sieht rate ich schon wild in der Gegend rum.
Gruß
Fubajunkie
Antwort 2 von M.O.
Hallo Fubajunkie,
hatte gestern das selbe Problem :-) und bin auf folgende Lösung gestoßen:
Sumtxt = "=SUMME(AC:AC" & x & ")"
ActiveCell.FormulaLocal = Sumtxt
Funktioniert bei mir einwandfrei.
Gruß
M.O.
hatte gestern das selbe Problem :-) und bin auf folgende Lösung gestoßen:
Sumtxt = "=SUMME(AC:AC" & x & ")"
ActiveCell.FormulaLocal = Sumtxt
Funktioniert bei mir einwandfrei.
Gruß
M.O.
Antwort 3 von M.O.
Hallo,
es muss natürlich so heißen:
Sumtxt = "=SUMME(AC2:AC" & x & ")"
Gruß
M.O.
es muss natürlich so heißen:
Sumtxt = "=SUMME(AC2:AC" & x & ")"
Gruß
M.O.
Antwort 4 von fubajunkie
Hallo M.O.,
vielen Dank. Klappt super. Ich werde mir wohl doch langsam mal ein Buch besorgen müssen in dem einige wichtige Befehle beschrieben sind.
Gruß
Fubajunkie
vielen Dank. Klappt super. Ich werde mir wohl doch langsam mal ein Buch besorgen müssen in dem einige wichtige Befehle beschrieben sind.
Gruß
Fubajunkie

