VBA UsedRange

UsedRange, come suggerisce il nome, sono gli intervalli che come una sorta di valori in essi, le celle vuote non sono incluse negli intervalli utilizzati, quindi in VBA Intervalli utilizzati è la proprietà dell'oggetto intervallo in VBA per quegli intervalli di celle in righe e colonne che non sono vuote e contengono alcuni valori.

UsedRange in VBA Excel

UsedRange in VBA è una proprietà del foglio di lavoro che restituisce un oggetto intervallo che rappresenta l'intervallo utilizzato (tutte le celle Excel utilizzate o compilate in un foglio di lavoro) su un particolare foglio di lavoro. È una proprietà che rappresenta l'area coperta o delimitata dalla cella utilizzata in alto a sinistra e dalle ultime celle utilizzate a destra in un foglio di lavoro.

Possiamo descrivere la "cella usata" come una cella contenente qualsiasi formula, formattazione, valore, ecc. Possiamo anche selezionare l'ultima cella utilizzata premendo i tasti CTRL + FINE sulla tastiera.

Di seguito è riportata un'illustrazione di un UsedRange in un foglio di lavoro:

Possiamo vedere nello screenshot qui sopra che UsedRange è A1: D5.

Esempi di proprietà UsedRange VBA di Excel

Diamo un'occhiata ad alcuni esempi di seguito per vedere come la proprietà UsedRange in un foglio di lavoro può essere utilizzata per trovare l'intervallo utilizzato in VBA:

Puoi scaricare questo modello Excel VBA UsedRange qui - Modello Excel VBA UsedRange

Esempio 1

Supponiamo di avere un file Excel contenente due fogli di lavoro e desideriamo trovare e selezionare l'intervallo utilizzato su Sheet1.

Vediamo cosa contiene il Foglio1:

Usiamo la proprietà UsedRange nella finestra immediata di VBA per eseguire questa operazione. La finestra immediata VBA è uno strumento che consente di ottenere informazioni sui file Excel, eseguire o eseguire rapidamente il debug di qualsiasi codice VBA, anche se l'utente non sta scrivendo macro. Si trova in Visual Basic Editor ed è possibile accedervi come segue:

  • Vai alla scheda Sviluppo di Excel, quindi fai clic su Visual Basic Editor o premi Alt + F11 per aprire la finestra di Visual Basic Editor.

In questo modo, si apre una finestra come segue:

  • Premi Ctrl + G per aprire la finestra immediata e digita il codice.

La finestra immediata ha questo aspetto:

  • Il codice seguente selezionerà l'intervallo utilizzato in Sheet1

Codice:

? Fogli di lavoro ("Sheet1"). Activate True? ActiveSheet.UsedRange.Select True

La prima istruzione del codice attiverà Sheet1 del file e la seconda istruzione selezionerà l'intervallo utilizzato in quel foglio attivo.

Scrivendo questo codice, vediamo che l'intervallo utilizzato in Sheet1 viene selezionato come segue:

Esempio n. 2

Ora, diciamo in questo esempio di voler trovare il numero totale di righe utilizzate in Sheet1. Per fare ciò, seguiamo i passaggi seguenti:

  • Crea un nome macro nel modulo.

Codice:

 Sub TotalRows () End Sub 

  • Definisci la variabile TotalRow come Integer in VBA:

Codice:

 Sub TotalRows () Dim TotalRow As Integer End Sub 

  • Ora assegna la variabile TotalRow con la formula per calcolare un numero totale di righe:

Codice:

 Sub TotalRows () Dim TotalRow As Integer TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub 

  • Ora il valore risultante di TotalRow può essere visualizzato e restituito utilizzando una finestra di messaggio VBA (MsgBox) come segue:

Codice:

 Sub TotalRows () Dim TotalRow As Integer TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub 

  • Ora eseguiamo questo codice manualmente o premendo F5 e otteniamo il numero totale di righe utilizzate in Sheet1 visualizzato in una finestra di messaggio come segue:

Quindi, possiamo vedere nello screenshot sopra che "5" viene restituito nella finestra del messaggio e, come possiamo vedere in Sheet1, il numero totale di righe nell'intervallo utilizzato è 5.

Esempio n. 3

Allo stesso modo, se desideriamo trovare il numero totale di colonne utilizzate in Sheet1, seguiremo gli stessi passaggi di cui sopra tranne per una leggera modifica nel codice come segue:

Codice:

 Sub TotalCols () Dim TotalCol As Integer TotalCol = ActiveSheet.UsedRange.Columns.Count MsgBox TotalCol End Sub 

Ora, quando eseguiamo questo codice manualmente o premendo F5, otteniamo il numero totale di colonne utilizzate in Sheet1 visualizzato in una finestra di messaggio come segue:

Quindi, "4" viene restituito nella finestra del messaggio e, come possiamo vedere in Sheet1, un numero totale di colonne nell'intervallo utilizzato è 4.

Esempio n. 4

Supponiamo ora di voler trovare l'ultima riga e numero di colonna utilizzati nel Foglio2 del file. Vediamo cosa contiene Sheet2:

Per fare ciò, seguiamo i seguenti passaggi:

  • Crea un nome macro nel modulo.

Codice:

 Sub LastRow () End Sub 

  • Definisci la variabile LastRow come Integer.

Codice:

 Sub LastRow () Dim LastRow As Integer End Sub 

  • Ora assegna la variabile LastRow con la formula per calcolare l'ultimo numero di riga utilizzato:

Codice:

 Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row End Sub 

Il metodo SpecialCells in Excel VBA restituisce un oggetto intervallo che rappresenta solo i tipi di celle specificati. La sintassi per il metodo SpecialCells è:

RangeObject.SpecialCells (tipo, valore)

Nel codice precedente, xlCellTypeLastCell: rappresenta l'ultima cella nell'intervallo utilizzato.

Nota: "xlCellType" includerà anche celle vuote in cui è stato modificato il formato predefinito di una delle celle.
  • Ora il valore risultante del numero LastRow può essere visualizzato e restituito utilizzando una finestra di messaggio (MsgBox) come segue:

Codice:

 Sub LastRow () Dim LastRow As Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row MsgBox LastRow End Sub 

  • Ora eseguiamo questo codice manualmente o premendo F5 e otteniamo l'ultimo numero di riga utilizzato in Sheet2 visualizzato in una finestra di messaggio come segue:

Quindi, possiamo vedere nello screenshot sopra che "12" viene restituito nella finestra del messaggio e, come possiamo vedere in Sheet2, l'ultimo numero di riga utilizzato è 12.

Allo stesso modo, se desideriamo trovare l'ultimo numero di colonna utilizzato in Sheet2, seguiremo gli stessi passaggi di cui sopra tranne per una leggera modifica nel codice come segue:

Codice:

 Sub LastCol () Dim LastCol As Integer LastCol = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Column MsgBox LastCol End Sub 

Ora, quando eseguiamo questo codice manualmente o premendo F5, otteniamo l'ultimo numero di colonna utilizzato in Sheet2 visualizzato in una finestra di messaggio come segue:

Quindi, possiamo vedere nello screenshot sopra che "3" viene restituito nella finestra del messaggio e, come possiamo vedere in Sheet2, l'ultimo numero di colonna utilizzato è 3.

Cose da ricordare su VBA UsedRange

  • VBA UsedRange è un intervallo di rettangoli.
  • VBA UsedRange include celle con dati o formattate, ecc.
  • Excel VBA UsedRange non include necessariamente la cella in alto a sinistra del foglio di lavoro.
  • UsedRange non considera necessariamente la cella attiva come utilizzata.
  • UsedRange può essere utilizzato per trovare l'ultima riga utilizzata in VBA e per ripristinare l'intervallo utilizzato, ecc.
  • Premendo la scorciatoia Excel, i tasti CTRL + MAIUSC + INVIO su una tastiera possono essere utilizzati per estendere la selezione da una cella attiva all'ultima cella utilizzata in un foglio di lavoro.