Gerry trova più facile mettere insieme formule che utilizzano riferimenti di cella R1C1. Sa come farlo quando aggiunge manualmente formule a un foglio di lavoro, ma si chiede come può usare i riferimenti R1C1 nelle formule che mette insieme e inserisce nelle celle usando una macro. Si chiede se c’è qualcosa a cui deve prestare attenzione quando lo fa.

Quando normalmente inserisci una formula in una cella, useresti questo tipo di sintassi nella tua macro:

Cells(3,1).Formula = "=A1 + A2"

Range("A3").Formula = "=A1 + A2"

Uno di questi funzionerà bene; entrambi inseriscono una semplice formula nella cella A3. Se, tuttavia, vuoi usare i riferimenti R1C1 nella formula che inserisci nella cella A3, devi solo cambiare la proprietà Formula nella proprietà FormulaR1C1:

Cells(3,1).FormulaR1C1 = "=R1C1 + R2C1"

Range("A3").FormulaR1C1 = "=R1C1 + R2C1"

È interessante notare che se si inseriscono le formule R1C1 sopra in una cella e il foglio di lavoro non ha la visualizzazione R1C1 attivata, Excel converte la formula per riflettere la visualizzazione attiva. In altre parole, cambia automaticamente “= R1C1 + R2C1” in “= $ A $ 1 + $ A $ 2”. È vero anche il contrario: inserisci la formula “= A1 + A2” in una cella e viene visualizzata come “= R [-2] C + R [-1] C” se hai il display R1C1 attivato.

Dovresti anche notare che poiché sia ​​Formula che FormulaR1C1 sono proprietà, puoi leggerle e vedere la formula nella cella nel formato desiderato. Ad esempio, supponiamo che la cella A3 contenga la formula “= A1 + A2”. Se poi esegui la seguente macro, vedrai la formula visualizzata nei formati desiderati:

Sub TestFormula()

Dim sMsg As String

sMsg = "Regular format: " & Cells(3,1).Formula & vbCrLf     sMsg = sMsg & "R1C1 format: " & Range("A3").FormulaR1C1     MsgBox sMsg End Sub

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (5294) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.