Come utilizzare una cella come variabile in vba?
Per utilizzare un intervallo o una singola cella come variabile, devi prima dichiarare tale variabile con il tipo di dati intervallo. Dopo averlo fatto, devi specificare un intervallo da una cella a questa variabile utilizzando l’oggetto range. Ciò ti dà anche accesso a tutte le proprietà e ai metodi che puoi utilizzare con un intervallo.
- Utilizza la parola chiave “Dim” e inserisci il nome della variabile.
- Dichiarare la parola chiave come Range .
- Digitare il nome della variabile.
- Specifica l’intervallo che desideri assegnare alla variabile.
Imposta la selezione sulla variabile di intervallo
È inoltre possibile utilizzare l’intervallo selezionato per una variabile e quindi utilizzare tale variabile per accedere a proprietà e metodi. Considera il seguente codice.
Sub vba_range_variable() Dim rng As Range Set rng = Selection Selection.Clear End Sub
Ma c’è una cosa a cui devi fare attenzione: quando selezioni un oggetto diverso da un intervallo, VBA ti mostrerà un errore.
Ma è anche un metodo dinamico in cui non è necessario modificare l’intervallo ancora e ancora.
Copia un intervallo utilizzando una variabile
Dopo aver dichiarato una variabile come intervallo, puoi anche copiare quell’intervallo utilizzando quel nome di variabile. Supponiamo di aver dichiarato l’intervallo A1:A10 come variabile rng (esempio sopra), puoi copiarlo utilizzando il seguente codice.
Sub vba_range_variable() Dim rng As Range Set rng = Range("A1:A10") rng.Copy End Sub
Utilizzo della variabile intervallo in una funzione
È inoltre possibile utilizzare una variabile di intervallo per fare riferimento a un intervallo in una funzione quando si scrive una macro. Considera il seguente codice.
Sub vba_range_variable() Dim iNames As Variant Dim rng As Range Set rng = Range("A1:A10") Range("B1") = WorksheetFunction.Max(rng) End Sub
Accetta valori nell’intervallo A1:A10 e poiché è necessario utilizzare la variabile “rng”, abbiamo utilizzato la variabile con il valore massimo per visualizzarla.
Correlato: Come utilizzare la funzione WorksheetFunction in VBA
Contare il numero di righe e colonne
Come ho detto prima, una volta specificata una variabile come intervallo, otterrai anche tutte le proprietà e i metodi di accesso. Immagina di voler contare righe e colonne. Ecco il codice che potrebbe essere utilizzato.
Sub vba_range_variable() Dim rng As Range Set rng = Range("A1:A10") MsgBox "This range has " & _ rng.Rows.Count & " row(s) and " & _ rng.Columns.Count & " coulmn(s)." End Sub
Quando esegui questo codice, viene visualizzato un messaggio con il numero di righe e colonne nell’intervallo specificato nella variabile.
Definizione di foglio di lavoro con intervallo
In tutti gli esempi precedenti, abbiamo utilizzato l’intervallo senza menzionare il foglio di lavoro, quindi quando esegui questo codice, VBA farà sempre riferimento all’intervallo nel foglio attivo. Ma se vuoi fare riferimento a un foglio di lavoro specifico, devi utilizzare l’ oggetto del foglio di lavoro con l’intervallo.
Dim rng As Range Set rng = Worksheets("Sheet1").Range("A1:A10")