Ich schreibe ein Makro für Excel mit VBA (r1c1-Format) und möchte auf eine Zelle verweisen, die sich immer in Position E3 befindet. Gibt es eine Syntax, die ich verwenden kann, um einen absoluten Verweis im Format r1c1 zu erstellen? Oder gibt es eine Möglichkeit, zu A1 und zurück zu r1c1 zu wechseln?
Ich habe überall nachgesehen und finde keine Antwort ... danke im Voraus.
Wenn ich =E3
in G5
und =$E$3
in G6
stecke und dann ein VB - Fenster starte und im nächsten Fenster folgendes mache:
? ActiveSheet.Range("G5").Formula
=E3
? ActiveSheet.Range("G5").FormulaR1C1
=R[-2]C[-2]
? ActiveSheet.Range("G6").Formula
=$E$3
? ActiveSheet.Range("G6").FormulaR1C1
=R3C5
Also machen R und C es relativ zur aktuellen Zelle. Sie müssen eckige Klammern verwenden, wenn die Zahl negativ ist. Andernfalls glaubt Excel, dass Sie eine Zahl von einem ungültigen Zellbezug subtrahieren.
EDIT: Es ist erwähnenswert, dass die Referenz anders behandelt wird, wenn sie absolut oder relativ ist.
Bei relativen Referenzen zählen Sie aus der Zelle, in der sich die Formel befindet. E3
ist R[-2]C[-2]
von G5
entfernt. d.h. 2 Reihen hoch, 2 Spalte links.
Bei absoluten Werten zählen Sie von oben links. Also ist E3
R3C5
. d.h. 3 Reihen nach unten, 5 Spalten über. (Danke an @GeorgeDooling für die Klarstellung)
Manchmal ist die Funktion 'Application.ConvertFormula' hilfreich, um zwischen Referenzstilen zu wechseln. Fügen Sie dies beispielsweise dem unmittelbaren Fenster hinzu:
debug.print application.ConvertFormula ("= PRODUKT (O7, P $ 7)", xla1, xlr1c1)
zurückgegeben:
= PRODUKT (RC [-5], R7C [-4])
Das ist ein triviales Beispiel, aber wenn Sie eine Monsterformel auf der Hand haben ...
Das Wechseln zwischen Referenzstilen in VBA erfolgt auch über:
application.ReferenceStyle = xlA1
oder
application.ReferenceStyle = xlR1C1
Das R1C1-Format kann sowohl für absolute als auch für relative Verweise verwendet werden R1C1 ohne Klammern ist absolut, wenn Sie Klammern verwenden, ist es relativ.
R3C5
zeigt immer auf E3
, egal wo Sie es verwenden . Wie Sie bereits wissen, zeigt R[3]C[5]
immer 3 nach unten und 5 rechts von Ihrem aktuellen Standort.
Wie George Dooling bereits in einem der Kommentare sagte, ist R-3C-5
sinnlos, weil Sie vom Blatt sind. Das Blatt beginnt bei R1C1
und die Zahlen steigen nur.
Zu Ihrer zweiten Frage können Sie das A1-Format verwenden, indem Sie es in Anführungszeichen setzen. R3C5
kann ohne Probleme als "E3"
innerhalb von FormulaR1C1
geschrieben werden.
R3C5
Keine Klammern = absolut
Wenn Sie beim Bearbeiten einer Formel im Zellenfenster die Taste f4 drücken, wird zwischen relativ und absolut umgeschaltet