VBA UsedRange

UsedRange, zoals de naam al doet vermoeden, zijn de bereiken die als een soort waarden erin, de lege cellen niet zijn opgenomen in de gebruikte bereiken, dus in VBA is Gebruikte bereiken de eigenschap van het bereikobject in VBA voor dat celbereik in rijen en kolommen die niet leeg zijn en enkele waarden bevatten.

UsedRange in VBA Excel

Het UsedRange in VBA is een eigenschap van het werkblad dat een bereikobject retourneert dat het gebruikte bereik vertegenwoordigt (alle Excel-cellen die worden gebruikt of ingevuld in een werkblad) op een bepaald werkblad. Het is een eigenschap die het gebied weergeeft dat wordt bedekt of begrensd door de cel linksboven en de laatst gebruikte cellen in een werkblad.

We kunnen 'Gebruikte cel' omschrijven als een cel met een formule, opmaak, waarde, enz. We kunnen ook de laatst gebruikte cel selecteren door op CTRL + END op het toetsenbord te drukken.

Hieronder volgt een illustratie van een UsedRange in een werkblad:

We kunnen in de bovenstaande schermafbeelding zien dat de UsedRange A1: D5 is.

Voorbeelden van Excel VBA UsedRange-eigenschap

Laten we hieronder enkele voorbeelden bekijken om te zien hoe de UsedRange-eigenschap in een werkblad kan worden gebruikt om het gebruikte bereik in VBA te vinden:

U kunt deze VBA UsedRange Excel-sjabloon hier downloaden - VBA UsedRange Excel-sjabloon

Voorbeeld 1

Laten we zeggen dat we een Excel-bestand hebben met twee werkbladen, en we willen het gebruikte bereik op Sheet1 vinden en selecteren.

Laten we eens kijken wat de Sheet1 bevat:

We gebruiken de eigenschap UsedRange in het onmiddellijke VBA-venster om deze taak uit te voeren. Het onmiddellijke VBA-venster is een hulpmiddel dat helpt om informatie over Excel-bestanden te krijgen, snel een VBA-code uit te voeren of te debuggen, zelfs als de gebruiker geen macro's schrijft. Het bevindt zich in de Visual Basic Editor en is als volgt toegankelijk:

  • Ga naar het tabblad Ontwikkelaar in Excel en klik vervolgens op Visual Basic Editor, of druk op Alt + F11 om het Visual Basic Editor-venster te openen.

Als u dit doet, wordt een venster als volgt geopend:

  • Druk op Ctrl + G om het directe venster te openen en typ de code.

Het onmiddellijke venster ziet er als volgt uit:

  • De volgende code selecteert het gebruikte bereik op Sheet1

Code:

? Worksheets ("Sheet1"). Activeer True? ActiveSheet.UsedRange.Select True

De eerste instructie van de code activeert Blad1 van het bestand en de tweede instructie selecteert het gebruikte bereik in dat actieve blad.

Bij het schrijven van deze code zien we dat het bereik dat wordt gebruikt in Sheet1 als volgt wordt geselecteerd:

Voorbeeld # 2

Laten we nu zeggen dat we in dit voorbeeld het totale aantal rijen willen vinden dat in Blad1 wordt gebruikt.Om dit te doen, volgen we de onderstaande stappen:

  • Maak een macronaam in de module.

Code:

 Sub TotalRows () End Sub 

  • Definieer de variabele TotalRow als geheel getal in VBA:

Code:

 Sub TotalRows () Dim TotalRow As Integer End Sub 

  • Wijs nu de variabele TotalRow toe met de formule om een ​​totaal aantal rijen te berekenen:

Code:

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

  • Nu kan de resulterende waarde van TotalRow als volgt worden weergegeven en geretourneerd met behulp van een VBA-berichtvenster (MsgBox):

Code:

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

  • Nu voeren we deze code handmatig uit of door op F5 te drukken, en we krijgen het totale aantal rijen dat in Blad1 wordt gebruikt als volgt weergegeven in een berichtenvenster:

We kunnen dus in de bovenstaande schermafbeelding zien dat '5' wordt geretourneerd in het berichtvenster, en zoals we kunnen zien in Sheet1, is het totale aantal rijen in het gebruikte bereik 5.

Voorbeeld # 3

Evenzo, als we het totale aantal kolommen willen vinden dat in Sheet1 wordt gebruikt, zullen we dezelfde stappen volgen als hierboven, met uitzondering van een kleine wijziging in de code als volgt:

Code:

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

Wanneer we deze code nu handmatig uitvoeren of door op F5 te drukken, krijgen we het totale aantal kolommen dat wordt gebruikt in Blad1 als volgt weergegeven in een berichtenvenster:

Dus '4' wordt geretourneerd in het berichtvenster, en zoals we kunnen zien in Sheet1, is het totale aantal kolommen in het gebruikte bereik 4.

Voorbeeld # 4

Laten we nu zeggen dat we het laatst gebruikte rij- en kolomnummer willen vinden in Blad2 van het bestand. Laten we eens kijken wat de Sheet2 bevat:

Om dit te doen, volgen we de onderstaande stappen:

  • Maak een macronaam in de module.

Code:

 Sub LastRow () End Sub 

  • Definieer de variabele LastRow als Integer.

Code:

 Sub LastRow () Dim LastRow As Integer End Sub 

  • Wijs nu de variabele LastRow toe met de formule om het laatst gebruikte rijnummer te berekenen:

Code:

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

De SpecialCells-methode in Excel VBA retourneert een bereikobject dat alleen de opgegeven celtypen vertegenwoordigt. De syntaxis voor de SpecialCells-methode is:

RangeObject.SpecialCells (type, waarde)

In de bovenstaande code, xlCellTypeLastCell: vertegenwoordigt de laatste cel in het gebruikte bereik.

Opmerking: 'xlCellType' bevat zelfs lege cellen waarvan de standaardopmaak van een van hun cellen is gewijzigd.
  • Nu kan de resulterende waarde van het LastRow-nummer als volgt worden weergegeven en geretourneerd met behulp van een berichtvenster (MsgBox):

Code:

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

  • Nu voeren we deze code handmatig uit of door op F5 te drukken, en we krijgen het laatst gebruikte rijnummer in Blad2 als volgt weergegeven in een berichtenvenster:

We kunnen dus in de bovenstaande schermafbeelding zien dat '12' wordt geretourneerd in het berichtvenster, en zoals we kunnen zien in Sheet2, is het laatst gebruikte rijnummer 12.

Evenzo, als we het laatst gebruikte kolomnummer in Sheet2 willen vinden, zullen we dezelfde stappen volgen als hierboven, behalve een kleine wijziging in de code als volgt:

Code:

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

Wanneer we deze code nu handmatig uitvoeren of door op F5 te drukken, krijgen we het laatst gebruikte kolomnummer in Blad2 als volgt weergegeven in een berichtenvenster:

We kunnen dus in de bovenstaande schermafbeelding zien dat '3' wordt geretourneerd in het berichtvenster, en zoals we kunnen zien in Sheet2, is het laatst gebruikte kolomnummer 3.

Dingen om te onthouden over VBA UsedRange

  • VBA UsedRange is een rechthoekig bereik.
  • VBA UsedRange bevat cellen met gegevens of die worden opgemaakt enz.
  • Excel VBA UsedRange bevat niet noodzakelijk de cel linksboven in het werkblad.
  • UsedRange beschouwt de actieve cel niet noodzakelijk als gebruikt.
  • UsedRange kan worden gebruikt om de laatst gebruikte rij in VBA te vinden en om het gebruikte bereik te resetten, enz.
  • Door op de sneltoets Excel-toetsen CTRL + SHIFT + ENTER op een toetsenbord te drukken, kunt u de selectie uitbreiden van een actieve cel naar de laatst gebruikte cel op een werkblad.