Registriert seit: 11.04.2014
Version(en): 2021
23.08.2025, 18:00
(Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2025, 18:53 von Glausius.)
Hallo Fachleute,
ich knobele nun schon Stunden an folgendem Problem und finde den Fehler nicht! Wer kann helfen?
Folgende VBA-Befehlszeile
Range("C16").FormulaR1C1 = "='" & AbName & "!R[1]C[1]:R[1]C[1]"
zeigt im VBA-Editor als Inhalt an
Range("C16"),FormulaR1C1 = "='2022!D16'"
trägt aber in der Tabelle in der Zelle C16 folgenden Wert ein
=@'2022'!'D16'
Die ApApostrophe um die Zellenadresse D16 sind falsch und führen zu einer Fehlermeldung! Was ist an der VBA-Formel falsch? Ich finde den Fehler nicht - wer kann mir bitte helfen, ich verzweifele an meinen Versuchen?!
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Registriert seit: 13.04.2014
Version(en): 365
Hi,
entweder
Range("C16").FormulaR1C1Local
oder
Range("C16").Formula2R1C1
oder
Range("C16").Formula2R1C1Local
probiere es aus.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 24.10.2015
Version(en): 2010
Hallo Glausius,
wenn du den Apostroph ' nach FormulaR1C1 = "=" weglässt, entsteht bei mir in C16 die Formel =@'2022'!D17:D17
Gruß der AlteDresdner (Win11, Off2021)
Registriert seit: 11.04.2014
Version(en): 2021
Hallo,
vielen Dank ihr zwei.
Jetzt hat sich der Problem verschoben:
Wenn ich den Apostroph weglasse, funktioniert der Formeleintrag zwar fehlerfrei, aber er ändert die Zieladresse von D16 auf D17. Wie kann ich das beheben?
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Registriert seit: 24.10.2015
Version(en): 2010
indem du R[1] durch R[0] ersetzt?
Gruß der AlteDresdner (Win11, Off2021)
Registriert seit: 11.04.2014
Version(en): 2021
Danke sehr, damit habe ich das Problem beheben können!
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Registriert seit: 15.04.2018
Version(en): 2013
23.08.2025, 19:40
(Dieser Beitrag wurde zuletzt bearbeitet: 23.08.2025, 19:40 von slowboarder.)
Hi
1. Wenn der Tabellenbllattname eine Zahl ist oder Sonderzeichen (inklusive Leerzeichen) enthält, dann muss der Tabellenblattname in Anführungszeichen gesetzt werden.
In Excel passiert das Automatisch, per VBA muss man sich selber drum kümmern.
Weil es nicht schadet wenn sie da sind obwohl man sie nicht braucht, sollte man sie immer setzen, vor allem wenn der Name eine Variable ist.
Du hast zwar das erste ' gesetzt, aber den abschließende vor dem ! vergessen.
2. Wenn du eine Formel schreibst, die mehrere Zellen belegen könnte (Autospill) , dann muss man sie als .Formula2... eintragen.
Da du hier eine Adresse mit Doppelpunkt und zweiter Adresse angibst, ist dass ein Zellbereich und erfordert daher die 2. Excel geht hier Systematisch vor, dass du beides mal die selbe Adresse hast, ist egal.
Wenn du nur eine Zelle angibst, brauchst du die 2 nicht.
3. Bei relativen Zellbezügen in R1C1 steht in der [..] immer der Versatzwert. Ein Bezug auf die selbe Zeile oder Spalte ist [0] und dieses darf man weglassen, der Bezug auf die eigene Zelle wäre dann R[0]C[0] oder kurz RC.
Range("C16").FormulaR1C1 = "='" & AbName & "'!RC[1]"
Wobei ich es bevorzugen würde, in R1C1 einen Bezug nur dann relativ anzugeben, wenn er unbedingt relativ sein , wel dann die Adresse kürzer und besser lesbar wird (bei A1-Adresen ist das andersrum)
Range("C16").FormulaR1C1 = "='" & AbName & "'!RC4"
Gruß Daniel