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.
Nota: la proprietà UsedRange è una proprietà di sola lettura .
Scrivi il codice con UsedRange
Utilizzare il seguente codice.
- Innanzitutto, è necessario specificare il foglio di calcolo.
- Quindi inserire un punto (.) e inserire “UsedRange”.
- Successivamente, utilizza la proprietà o il metodo che desideri utilizzare.
- 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.
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.
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.
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.