
Le variabili di tipo Range in una macro Excel
In questa lezione ti spiego come usare le variabili Range in una macro Excel
Cosa sono le variabili di tipo Range? Queste variabili sono usate per memorizzare un insieme di celle di un foglio di lavoro per elaborarle in modo automatico tramite una macro.
Per utilizzare una variabile Range in una macro Excel, devi prima dichiararla usando l'istruzione Dim e il tipo di dato Range.
Dim nomevariabile As Range
Dove il nome della variabile è uno nome che devi scegliere tu.
Una volta dichiarata la variabile puoi usarla per memorizzare un intervallo di celle del foglio di calcolo.
Ti faccio un esempio pratico.
Scrivi questa macro.
- Sub Macro()
- Dim area, cella As Range
- Dim numero As Integer
- numero = 1
- Set area = Range("B2:B5")
- For Each cella In area
- cella.Value = numero
- numero = numero + 1
- Next cella
- End Sub
La macro definisce due variabili di tipo Range chiamate "area" e "cella" e una variabile numerica intera "numero".
Seleziona l'intervallo di celle B2:B5 del foglio di calcolo e lo memorizza nella variabile "area" tramite la funzione Set area = Range("B2:B5")
Il ciclo For Each cella In area legge in sequenza ogni cella nella variabile "area", la memorizza nella variabile "cella" e scrive all'interno un numero progressivo da 1 a 4
Puoi anche usare le variabili Range anche per applicare una formula o una funzione sull’intervallo di celle selezionate.
Ad esempio, scrivi questa macro
- Sub Macro()
- Dim area As Range
- Dim somma As Integer
- Set area = Range("B2:B5")
- somma = Application.WorksheetFunction.Sum(Area)
- Range("B7").Value = somma
- End Sub
La macro memorizza l'intervallo di celle B2:B5 nella variabile "area" di tipo Range.
Poi applica la funzione Sum() alla variabile tramite il comando Application.WorksheetFunction.Sum(Area)
Infine, salva il risultato (1+2+3+4=10) nella variabile "somma" e lo visualizza nella cella B7.
In conclusione, grazie alle variabile Range puoi automatizzare qualsiasi operazione di calcolo anche su un insieme di celle molto grande del foglio Excel.