757 Aufrufe
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
von
Nachtrag:
In der Formelzeile steht
"=SUMME(#BEZUG)"
0 Punkte
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
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ß

Deine Antwort

Dein angezeigter Name (optional):
Datenschutz: Deine Email-Adresse benutzen wir ausschließlich, um dir Benachrichtigungen zu schicken. Es gilt unsere Datenschutzerklärung.
Anti-Spam-Captcha:
Bitte logge dich ein oder melde dich neu an, um das Anti-Spam-Captcha zu vermeiden.
...