683 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Freunde,
Frohes neues erstmal!
Ich schreibe per vba eine Formel in eine Spalte. Diese Formel soll die Summe aller über ihr liegenden Zellen ab Zeile 9 berechnen wobei die Zeilenanzahl unterschiedlich ist.
Das klappt in 3 von 4 Arbeitsblättern ganz hervorragend, im 4. bekomme ich jedoch immer einen #BEZUGsfehler raus.
Dies ändert sich auch nicht wenn ich die Formel per vba auf "=SUMME(G9:G15)" oder "=42" ändere.
Erst wenn ich "per Hand" im Arbeitsblatt die Formel eingebe funktioniert es.
Die Formatierungen der Zellen stimmen alle.

Zeilenzahl (hier:=16)
FormalZeilenzahl = Zeilenzahl-1
with wbrechnung.sheets(2)
...
.Cells(Zeilenzahl, 7).FormulaLocal = "=SUMME(G9:G" & FormelZeilenzahl & ")"
...
end with


Könnt ihr mir erklären woran das liegen kann?
lieben Gruß
SirSolaris

3 Antworten

0 Punkte
Beantwortet von
Nachtrag:
In der Formelzeile steht
"=SUMME(#BEZUG)"
0 Punkte
Beantwortet von flupo Profi (17.9k Punkte)
Aus dem Bauch heraus würde ich vermuten, dass das Zusammensetzen
des Formelstrings innerhalb der Anführungszeichen Schuld ist.

Bau den String vorher zusammen, schreibe ihn in eine Variable und füge
die in der .Cells...-Zeile ein.

Gruß Flupo
0 Punkte
Beantwortet von
Hi,
Das ist jetzt peinlich aber ich habe im with-block das falsche Tabellenblatt angegeben. d.h. er hat die Formel aus der alten Tabelle übernommen und kann da nur einen Bezugsfehler ausspucken. Und mir ist das nicht aufgefallen weil die Formeln im nächsten tabellenblatt direkt wieder überschrieben werden :D
Und daran sitze ich jetzt seit 1,5h :(

aber danke dir^^
gruß
...