Dieses Beispiel veranschaulicht den Unterschied zwischen A1, R1C1 und R[1]C[1]-Stil In Excel VBA.
1. Platzieren Sie eine Befehlsschaltfläche in Ihrem Arbeitsblatt und fügen Sie die folgende Codezeile (A1-Stil) hinzu:
Range("D4").Formel = "=B3*10"
Ergebnis:
2. Fügen Sie die folgende Codezeile hinzu (R1C1-Stil):
Range("D4").FormulaR1C1 = "=R3C2*10"
Ergebnis:
Erläuterung: Zelle D4 verweist auf Zelle B3 (Zeile 3, Spalte 2). Dies ist eine absolute Referenz ($-Symbol vor der Zeilennummer und dem Spaltenbuchstaben).
3. Fügen Sie die folgende Codezeile hinzu (R[1]C[1]-Stil):
Range("D4").FormulaR1C1 = "=R[-1]C[-2]*10"
Ergebnis:
Erläuterung: Zelle D4 verweist auf Zelle B3 (eine Zeile darüber und 2 Spalten links). Dies ist eine relative Referenz. Diese Codezeile liefert genau das gleiche Ergebnis wie die in Schritt 1 verwendete Codezeile.
4. Warum darüber lernen? Weil der Makrorekorder die FormulaR1C1-Eigenschaft (R[1]C[1]-Stil) verwendet. Der Makrorekorder erstellt die folgenden Codezeilen, wenn Sie die Formel =B3*10 in Zelle D4 eingeben.
Erläuterung: Sie können sehen, dass dies genau dieselbe Codezeile ist, die in Schritt 3 verwendet wurde.