Hur du använder egenskapen UsedRange i VBA i Excel (4 sätt)

  • Dela Detta
Hugh West

I den här artikeln ska jag visa hur du kan använda AnvändsRange egenskap hos VBA i Excel. Du lär dig att använda AnvändsRange för ett stängt intervall, för ett utspridt intervall, för ett inaktivt arbetsblad och även för en inaktiv arbetsbok.

Ladda ner övningsboken

Ladda ner arbetsboken för att träna medan du läser den här artikeln.

Excel VBA UsedRange.xlsm

Introduktion till egenskapen UsedRange i VBA i Excel

AnvändsRange egenskap hos VBA returnerar en Utbud Den returnerar ett intervall som består av alla celler i ett arbetsblad som har använts, inklusive en tom rad i början.

I en VBA kod, den AnvändsRange ska användas tillsammans med arbetsbladets namn. Så den vanliga syntaxen för att använda egenskapen AnvändsRange för det aktiva arbetsbladet är:

Dim Rng som intervall

Set Rng = ActiveSheet.UsedRange

Anteckningar:

  • Här Rng är namnet på den Utbud som returneras av AnvändsRange Du kan använda vad du vill.
  • För att utöva den AnvändsRange i ett annat arbetsblad än det aktiva använder du istället arbetsbladets namn.

Om du till exempel vill använda den i ett kalkylblad som heter Blad 1 , infoga:

Set Rng = Arbetsblad("Sheet1").UsedRange

4 sätt att använda egenskapen UsedRange i VBA i Excel

Här är de 4 de vanligaste sätten att använda AnvändsRange egendom i VBA .

1. VBA UsedRange-egenskap för ett slutet intervall

Först och främst använder vi VBA UsedRange för ett kalkylblad med ett stängt intervall.

Den returnerar hela intervallet inklusive en tom rad i början.

Här har vi ett arbetsblad som heter Blad 1 som innehåller ett slutet intervall bestående av namn, anställningsdatum och löner för några anställda på ett företag.

Om du nu använder AnvändsRange på det här arbetsbladet, returneras intervallet B2:C13 (Inklusive en tom rad i början).

Om Blad 1 är aktiv, kan du använda:

Dim Rng som intervall

Set Rng = ActiveSheet.UsedRange

Du kan också använda:

Dim Rng som intervall

Set Rng = Arbetsblad("Sheet1").UsedRange

Utgång:

Vi har använt oss av Välj egenskap för en Utbud i koden. Om vi kör koden kommer den att välja intervallet B2:D13 Blad 1 .

Läs mer: Hur du använder Range Object i VBA i Excel (5 egenskaper)

2. VBA UsedRange-egenskap för ett utspritt område

Om du har ett utspridt intervall i ett arbetsblad, kan du använda AnvändsRange återger ett intervall inklusive de tomma cellerna däremellan.

Nu, i Blad 1 , har vi den totala lönen, högsta lönen och lägsta lönen utspridda på olika ställen, från cell B3 till G3 , så här:

Använd nu någon av de två kodraderna för att använda AnvändsRange egendom.

Dim Rng som intervall

Set Rng = ActiveSheet.UsedRange

Eller

Dim Rng som intervall

Set Rng = Arbetsblad("Sheet1").UsedRange

Utgång:

Den returnerar alla celler inom intervallet B2:G3 Blad 1 inklusive de tomma cellerna (inklusive en tom rad i början). Eftersom vi har använt Välj för den Utbud väljer den intervallet B2:G3.

Läs mer: Slutet av ett intervall med VBA i Excel (med exempel)

Liknande läsningar

  • Excel VBA Kopiera intervall till ett annat ark (8 enklaste sätt)
  • Slinga dig genom ett intervall för varje cell med Excel VBA (ultimat guide)
  • Fel i Excel Subscript Out of Range i VBA (med 5 lösningar)

3. Egenskapen VBA UsedRange för ett inaktivt arbetsblad

Om vi vill utöva AnvändsRange på ett inaktivt arbetsblad måste du nämna arbetsbladets namn i början.

Här är till exempel mitt aktiva arbetsblad Blad 1 .

Om du vill använda AnvändsRange egendom i Blad2 Vi måste använda den:

Dim Rng som intervall

Set Rng = Arbetsblad("Sheet2").UsedRange

Den väljer alla använda celler i arbetsbladet som heter Blad2 .

Läs mer: VBA för att ställa in intervall i Excel (7 exempel)

4. Egenskapen VBA UsedRange för en inaktiv arbetsbok

Du kan till och med använda egenskapen UsedRange för en arbetsbok som inte är aktiv. Sätt bara arbetsbokens namn framför.

Här är till exempel min aktiva arbetsbok Arbetsbok1 . Att utöva den AnvändsRange egendom över Blad 1 Arbetsbok2 Vi måste använda den:

Dim Rng som intervall

Set Rng = Arbetsböcker("Arbetsbok2.xlsm").Kalkylblad("Blad1").UsedRange

Den väljer det använda intervallet i arbetsbladet. Blad 1 Arbetsbok2 .

Läs mer: VBA för varje cell i intervallet i Excel (3 metoder)

Saker att komma ihåg

AnvändsRange egenskap hos VBA returnerar en Utbud objektet. Här i den här artikeln har vi använt Välj egenskap för en Objekt för räckvidd för visualiseringens skull. Men självklart kan du använda alla andra egenskaper hos en Utbud enligt dina önskemål.

Slutsats

Med hjälp av dessa metoder kan du använda AnvändsRange egendom i Excel. Om du har några frågor är du välkommen att ställa dem till oss.

Hugh West är en mycket erfaren Excel-tränare och analytiker med över 10 års erfarenhet i branschen. Han har en kandidatexamen i redovisning och ekonomi och en magisterexamen i företagsekonomi. Hugh har en passion för undervisning och har utvecklat ett unikt undervisningssätt som är lätt att följa och förstå. Hans expertkunskap om Excel har hjälpt tusentals studenter och yrkesverksamma över hela världen att förbättra sina färdigheter och utmärka sig i sina karriärer. Genom sin blogg delar Hugh med sig av sin kunskap med världen, och erbjuder gratis Excel-handledning och onlineutbildning för att hjälpa individer och företag att nå sin fulla potential.