Hoe de eigenschap usedrange in vba te gebruiken?

In VBA vertegenwoordigt de eigenschap UsedRange het bereik van een werkblad dat gegevens bevat. Het gebruikte bereik begint vanaf de eerste cel in het werkblad waar u een waarde hebt, tot de laatste cel waar u een waarde hebt. Net als in het volgende voorbeeld, waarbij u het bereik van A1 tot C11 gebruikte.

bereikeigenschap gebruikt

Opmerking: De eigenschap UsedRange is een alleen-lezen eigenschap .

Schrijf code met UsedRange

Gebruik de volgende code.

  1. Eerst moet u het spreadsheet opgeven.
  2. Voer vervolgens een punt (.) in en voer “UsedRange” in.
  3. Gebruik daarna de eigenschap of methode die u wilt gebruiken.
  4. Voer aan het einde de code uit.
 Sub vba_used_range() ActiveSheet.UsedRange.Clear End Sub

De bovenstaande code wist alles uit het gebruikte bereik van het actieve blad.

Kopieer het gebruikte bereik

Gebruik de volgende code om de volledige UsedRange te kopiëren.

kopieer het volledige gebruikte bereik
 Sub vba_used_range() ActiveSheet.UsedRange.Copy End Sub

Tel rijen en kolommen in het gebruikte bereik

Er is een count-eigenschap die u kunt gebruiken om de rijen en kolommen van het gebruikte bereik te tellen.

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

De twee regels code hierboven geven een berichtvenster weer met het aantal rijen en kolommen dat u in het gebruikte bereik heeft.

Activeer de laatste cel in het gebruikte bereik

U kunt ook de laatste cel in het gebruikte bereik inschakelen (dit zou de laatste cel zijn die in het werkblad wordt gebruikt). Beschouw de volgende code.

laatste actieve cel van het gebruikte bereik
 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

Deze code neemt het aantal rijen en kolommen met behulp van de eigenschap UsedRange en gebruikt deze getallen vervolgens om de laatste cel in het gebruikte bereik te selecteren.

Raadpleeg UsedRange in een ander werkblad

Als u probeert te verwijzen naar het bereik dat wordt gebruikt in een ander werkblad dan het actieve blad, zal VBA een dergelijke fout weergeven.

bereik dat in een ander werkblad wordt gebruikt

Het werkblad waarnaar u verwijst moet dus geactiveerd zijn (alleen dan kunt u de eigenschap UsedRange gebruiken).

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

Dit betekent dat u niet kunt verwijzen naar het bereik dat in een gesloten werkmap wordt gebruikt. Maar u kunt eerst een werkmap openen en vervolgens het werkblad inschakelen om de eigenschap UsedRange te gebruiken.

Haal het adres op van het gebruikte bereik

Gebruik de volgende coderegel om het adres van het gebruikte bereik op te halen.

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

Tel lege cellen in het gebruikte bereik

De volgende code gebruikt FOR (For Each)-lussen en doorloopt alle cellen in het gebruikte bereik en telt lege cellen.

 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

Wanneer u deze code uitvoert, wordt er een berichtvenster weergegeven met het totale aantal cellen en het aantal lege cellen.

Voeg een reactie toe

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *