Variabile VBA di Excel nell'intervallo
Le variabili sono il cuore e l'anima di qualsiasi grande progetto VBA poiché le variabili sono il cuore e l'anima, quindi il tipo di tipo di dati che assegniamo loro è anche un fattore molto importante a tale riguardo. Nei nostri molti articoli precedenti, abbiamo discusso molte volte delle variabili e della loro importanza del tipo di dati. Una di queste variabili e tipi di dati è "Variabile di intervallo", in questo articolo speciale dedicato forniremo una guida completa su "Variabile di intervallo" in Excel VBA.
Che cos'è la variabile di intervallo in Excel VBA?
Come ogni altra variabile Range in VBA, anche la variabile è una variabile ma è una “Variabile Oggetto” che usiamo per impostare il riferimento dell'intervallo specifico di celle.
Come qualsiasi altra variabile, possiamo dare qualsiasi nome alla variabile, ma il tipo di dati che assegniamo a loro dovrebbe essere un "intervallo". Una volta che il tipo di dati assegnato alla variabile diventa una "Variabile oggetto" e, a differenza di un'altra variabile, non possiamo iniziare a utilizzare la variabile prima di aver impostato il riferimento degli oggetti in caso di variabili oggetto.
Quindi, dopo aver dichiarato la variabile, dobbiamo usare la parola chiave "SET" per impostare il riferimento all'oggetto, ovvero l'oggetto Range in questo caso.
Ok, ora vedremo praticamente alcuni degli esempi di variabili di intervallo VBA di Excel.
Esempi di variabile di intervallo in Excel VBA
Puoi scaricare questo modello Excel per intervallo variabile VBA qui - Modello Excel per intervallo variabile VBAAd esempio, supponi di voler selezionare l'intervallo di celle da A2 a B10 per l'immagine dello screenshot qui sotto.
Per selezionare questo intervallo di celle menzionato tutti questi mentre abbiamo l'oggetto RANGE e all'interno dell'oggetto intervallo, abbiamo menzionato l'indirizzo della cella tra virgolette doppie.
Codice:
Sub Range_Variable_Example () Range ("A2: B10") End Sub
Una volta che l'intervallo di celle è menzionato usando l'oggetto RANGE, se metti il punto vedremmo tutte le proprietà e i metodi associati a questo oggetto intervallo.
Codice:
Sub Range_Variable_Example () Intervallo ("A2: B10"). End Sub
Poiché abbiamo bisogno di selezionare le celle menzionate, scegli semplicemente il metodo "Seleziona" dall'elenco di IntelliSense.
Codice:
Sub Range_Variable_Example () Range ("A2: B10"). Seleziona End Sub
Esegui il codice e selezionerà le celle menzionate.
Questo è ovvio non è vero, ma immagina lo scenario di utilizzare lo stesso intervallo nel lungo progetto VBA diciamo cento volte, scrivere lo stesso codice di "Intervallo (" A2: A10 ")" 100 volte richiederà del tempo ma invece dichiareremo la variabile e assegneremo il tipo di dati come oggetto "Range".
Ok, diamo il tuo nome a una variabile e assegniamo il tipo di dati come "Intervallo".
Oltre a "Variabili oggetto" possiamo iniziare a utilizzare le variabili in base al loro nome, ma nel caso di "Variabili oggetto", dobbiamo impostare il riferimento.
Ad esempio, in questo caso, il nostro oggetto variabile (Rng) è range, quindi dobbiamo impostare il riferimento a cui si riferirà la parola "Rng". Per impostare il riferimento dobbiamo utilizzare la parola chiave “Set”.
Ora la variabile “Rng” si riferisce all'intervallo di celle da A2 a B10, invece di scrivere “Range (“ A2: B10 ”))” ogni volta che possiamo semplicemente scrivere la parola “Rng” .
Nella riga successiva menziona il nome della variabile "Rng" e metti un punto per vedere la magia.
Come puoi vedere sopra possiamo vedere tutte le proprietà e i metodi dell'oggetto range come il precedente.
Rendi dinamica la variabile
Ora sappiamo come impostare il riferimento all'intervallo di celle, ma una volta menzionato l'intervallo di celle che si attacca solo a quelle celle, qualsiasi aggiunta o eliminazione di celle non avrà alcun impatto su quelle celle.
Quindi, trovare il nuovo intervallo di celle dopo ogni aggiunta o eliminazione di celle rende la variabile di natura dinamica. Ciò è possibile trovando l'ultima riga e colonna utilizzate.
Per trovare l'ultima riga e colonna utilizzate, dobbiamo definire altre due variabili.
Codice:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Ultima riga per la comprensione di Dim LC As Long' LC = Ultima colonna per la comprensione End Sub
Ora sotto il codice troverà l'ultima riga e colonna utilizzata prima di impostare il riferimento a una variabile oggetto dell'intervallo.
Codice:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column End Sub
Ora apri la dichiarazione della parola chiave "Set".
Codice:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = End Sub
A differenza del metodo precedente, questa volta utilizziamo le proprietà VBA CELLS.
Codice:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) End Sub
Ho menzionato le celle (1,1), ovvero si riferisce alla prima cella del foglio attivo, ma abbiamo bisogno del riferimento all'intervallo di dati, quindi usa la proprietà "RIDIMENSIONA" e menziona le variabili "ultima riga e colonna utilizzate".
Codice:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) End Sub
Now this will set the latest reference to the range object variable “Rng”. Next, mention the variable name and use the “Select” method.
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) Rng.Select End Sub
Now I will add a few more lines to my data.
I have added three extra lines of data if I run the code now it should select the latest data range.
Things to Remember
- The range variable in excel VBA is an object variable.
- Whenever we use the object variable we need to use the “Set” keyword and set the object reference to the variable.
- Without setting the reference we cannot use an object variable.