Ten przykład ilustruje różnicę między A1, R1C1 oraz Styl R[1]C[1] w Excel VBA.
1. Umieść przycisk polecenia w arkuszu i dodaj następującą linię kodu (styl A1):
Zakres("D4").Formuła = "=B3*10"
Wynik:
2. Dodaj następującą linię kodu (styl R1C1):
Zakres("D4").FormułaR1C1 = "=R3C2*10"
Wynik:
Wyjaśnienie: komórka D4 odwołuje się do komórki B3 (wiersz 3, kolumna 2). Jest to odwołanie bezwzględne (symbol $ przed numerem wiersza i literą kolumny).
3. Dodaj następującą linię kodu (styl R[1]C[1]):
Zakres("D4").FormułaR1C1 = "=R[-1]C[-2]*10"
Wynik:
Wyjaśnienie: komórka D4 odwołuje się do komórki B3 (jeden wiersz powyżej i 2 kolumny po lewej). To jest względne odniesienie. Ta linia kodu daje dokładnie taki sam wynik, jak linia kodu użyta w kroku 1.
4. Po co się o tym uczyć? Ponieważ rejestrator makr używa właściwości FormulaR1C1 (styl R[1]C[1]). Rejestrator makr tworzy następujące wiersze kodu, jeśli w komórce D4 wprowadzisz formułę =B3*10.
Wyjaśnienie: widać, że jest to dokładnie ta sama linia kodu, która została użyta w kroku 3.