La funzione ActiveCell FormulaR1C1 macro excel
La funzione ActiveCell.FormulaR1C1 del linguaggio VBA mi permette di modificare il contenuto di una cella in un foglio excel tramite una macro.
ActiveCell.FormulaR1C1=[dato]
Dove il valore di sinistra [dato] è obbligatorio, può essere una stringa o un valore alfanumerico.
E' possibile anche inserire una formula nella cella.
Nota. Per inserire una funzione in una cella tramite macro nella bisogna fare attenzione. In alcuni casi è necessario inserire le formule con il nome inglese (es. SUM anziché SOMMA). Inoltre, la sintassi della funzione non è la stessa che si usa quando si digita la funzione direttamente nella cella.
Un esempio pratico
Con questa semplice macro modifico il contenuto delle celle B2 e B3 inserendovi rispettivamente le stringhe "hello" e "world".
- Sub Macro1()
- Range("B2").Select
- ActiveCell.FormulaR1C1="hello"
- Range("B3").Select
- ActiveCell.FormulaR1C1="world"
- End Sub
La riga 2 del codice seleziona la cella B2 come cella attiva.
La riga 3 scrive il valore alfanumerico "hello" nella cella attiva del foglio di calcolo, ossia B2.
La riga 4 del codice sposta la cella attiva in B3.
La riga 5 scrive "world" nella cella attiva ossia in B3.
E così via.