Come utilizzare la proprietà usedrange in vba?

In VBA, la proprietà UsedRange rappresenta l’intervallo di un foglio di lavoro contenente dati. L’intervallo utilizzato inizia dalla prima cella del foglio di lavoro in cui è presente un valore fino all’ultima cella in cui è presente un valore. Proprio come nell’esempio seguente in cui hai utilizzato l’intervallo da A1 a C11.

proprietà di intervallo utilizzata

Nota: la proprietà UsedRange è una proprietà di sola lettura .

Scrivi il codice con UsedRange

Utilizzare il seguente codice.

  1. Innanzitutto, è necessario specificare il foglio di calcolo.
  2. Quindi inserire un punto (.) e inserire “UsedRange”.
  3. Successivamente, utilizza la proprietà o il metodo che desideri utilizzare.
  4. Alla fine, esegui il codice.
 Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub

Il codice sopra cancella tutto dall’intervallo utilizzato del foglio attivo.

Copia l’intervallo utilizzato

Utilizzare il codice seguente per copiare l’intero UsedRange.

copiare l'intero intervallo utilizzato
 Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub

Conta righe e colonne nell’intervallo utilizzato

Esiste una proprietà count che puoi utilizzare per contare le righe e le colonne dell’intervallo utilizzato.

 MsgBox ActiveSheet.UsedRange.Rows.Count MsgBox ActiveSheet.UsedRange.Columns.Count

Le due righe di codice sopra mostrano una finestra di messaggio con il numero di righe e colonne presenti nell’intervallo utilizzato.

Attiva l’ultima cella nell’intervallo utilizzato

Puoi anche abilitare l’ultima cella nell’intervallo utilizzato (questa sarebbe l’ultima cella utilizzata nel foglio di lavoro). Considera il seguente codice.

ultima cella attiva dell'intervallo utilizzato
 Sub vba_used_range() Dim iCol As Long Dim iRow As Long iRow = ActiveSheet.UsedRange.Rows.Count iCol = ActiveSheet.UsedRange.Columns.Count ActiveSheet.UsedRange.Select Selection.Cells(iRow, iCol).Select End Sub

Questo codice prende il numero di righe e colonne utilizzando la proprietà UsedRange e quindi utilizza questi numeri per selezionare l’ultima cella nell’intervallo utilizzato.

Fare riferimento a UsedRange in un altro foglio di lavoro

Se provi a fare riferimento all’intervallo utilizzato in un foglio di lavoro diverso dal foglio attivo, VBA mostrerà un errore come questo.

intervallo utilizzato in un altro foglio di lavoro

Quindi il foglio di lavoro a cui fai riferimento deve essere attivato (solo allora puoi utilizzare la proprietà UsedRange).

 Sub vba_used_range() Worksheets("Sheet4").Activate Worksheets("Sheet4").UsedRange.Select End Sub

Ciò significa che non è possibile fare riferimento all’intervallo utilizzato in una cartella di lavoro chiusa. Ma puoi prima aprire una cartella di lavoro e quindi abilitare il foglio di lavoro per utilizzare la proprietà UsedRange.

Ottieni l’indirizzo dell’intervallo utilizzato

Utilizzare la seguente riga di codice per ottenere l’indirizzo dell’intervallo utilizzato.

 Sub vba_used_range() MsgBox ActiveSheet.UsedRange.Address End Sub

Conta le celle vuote nell’intervallo utilizzato

Il codice seguente utilizza i cicli FOR (For Each) e scorre tutte le celle nell’intervallo utilizzato e conta le celle vuote.

 Sub vba_used_range() Dim iCell As Range Dim iRange As Range Dim c As Long Dim i As Long Set iRange = ActiveSheet.UsedRange For Each iCell In ActiveSheet.UsedRange c = c + 1 If IsEmpty(iCell) = True Then i = i + 1 End If Next iCell MsgBox "There are total " & c & _ " cell(s) in the range, and out of those " & _ i & " cell(s) are empty." End Sub

Quando esegui questo codice, viene visualizzata una finestra di messaggio con il numero totale di celle e il numero di celle vuote.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *