VBA UsedRange - Hvordan finner du antall brukte rader og kolonner?

Innholdsfortegnelse

UsedRange, som navnet antyder, er områdene som som en slags verdier i dem, er de tomme cellene ikke inkludert i de brukte områdene, så i VBA Brukte områder er egenskapen til rekkeviddeobjektet i VBA for det celleområdet i rader og kolonner som ikke er tomme og har noen verdier i seg.

UsedRange i VBA Excel

UsedRange i VBA er en egenskap for regnearket som returnerer et områdeobjekt som representerer området som brukes (alle Excel-celler som brukes eller fylles ut i et regneark) på et bestemt regneark. Det er en egenskap som representerer området dekket eller avgrenset av brukte celler øverst til venstre og brukte celler til høyre i et regneark.

Vi kan beskrive 'Brukt celle' som en celle som inneholder hvilken som helst formel, formatering, verdi osv. Vi kan også velge den sist brukte cellen ved å trykke CTRL + END-tastene på tastaturet.

Følgende er en illustrasjon av en UsedRange i et regneark:

Vi kan se i skjermbildet ovenfor at UsedRange er A1: D5.

Eksempler på Excel VBA UsedRange-eiendom

La oss se på noen eksempler nedenfor for å se hvordan UsedRange-egenskapen i et regneark kan brukes til å finne det brukte området i VBA:

Eksempel 1

La oss si at vi har en Excel-fil som inneholder to regneark, og vi ønsker å finne og velge det brukte området på Ark1.

La oss se hva Sheet1 inneholder:

Vi bruker UsedRange-egenskapen i VBA Immediate-vinduet for å utføre denne oppgaven. VBA umiddelbar vindu er et verktøy som hjelper deg med å få informasjon om Excel-filer, raskt kjøre eller feilsøke hvilken som helst VBA-kode, selv om brukeren ikke skriver noen makroer. Den ligger i Visual Basic Editor og kan nås på følgende måte:

  • Gå til kategorien Utvikler Excel, og klikk deretter på Visual Basic Editor, eller trykk Alt + F11 for å åpne Visual Basic Editor-vinduet.

Når du gjør dette, åpnes et vindu som følger:

  • Trykk Ctrl + G for å åpne det umiddelbare vinduet, og skriv inn koden.

Det umiddelbare vinduet ser ut som:

  • Følgende kode velger det brukte området på Ark1.

Kode:

? Arbeidsark ("Ark1"). Aktiver True? ActiveSheet.UsedRange.Select True

Den første setningen av koden vil aktivere ark 1 i filen, og den andre setningen vil velge det brukte området i det aktive arket.

Når vi skriver denne koden, ser vi at rekkevidden som brukes i Ark1 blir valgt som følger:

Eksempel 2

La oss si i dette eksemplet at vi ønsker å finne det totale antallet rader som brukes i ark 1. For å gjøre dette følger vi trinnene nedenfor:

  • Lag et makronavn i modulen.

Kode:

Sub TotalRows () End Sub
  • Definer variabelen TotalRow som Heltall i VBA:

Kode:

Sub TotalRows () Dim TotalRow som Integer End Sub
  • Nå tilordner variabelen TotalRow med formelen for å beregne et totalt antall rader:

Kode:

Sub TotalRows () Dim TotalRow Som Integer TotalRow = ActiveSheet.UsedRange.Rows.Count End Sub
  • Nå kan den resulterende verdien av TotalRow vises og returneres ved hjelp av en VBA-meldingsboks (MsgBox) som følger:

Kode:

Sub TotalRows () Dim TotalRow Som Integer TotalRow = ActiveSheet.UsedRange.Rows.Count MsgBox TotalRow End Sub
  • Nå kjører vi denne koden manuelt eller ved å trykke på F5, og vi får totalt antall rader som brukes i Ark 1 vist i en meldingsboks som følger:

Så vi kan se i skjermbildet ovenfor at '5' returneres i meldingsboksen, og som vi kan se i ark 1, er totalt antall rader i det brukte området 5.

Eksempel 3

På samme måte, hvis vi ønsker å finne det totale antallet kolonner som brukes i Ark1, vil vi følge de samme trinnene som ovenfor, bortsett fra en liten endring i koden som følger:

Kode:

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

Nå når vi kjører denne koden manuelt eller ved å trykke på F5, får vi totalt antall kolonner som brukes i Ark 1 vist i en meldingsboks som følger:

Så, '4' returneres i meldingsboksen, og som vi kan se i Ark1, er det totale antallet kolonner i det brukte området 4.

Eksempel 4

La oss si at vi ønsker å finne det sist brukte rad- og kolonnenummeret i ark 2 i filen. La oss se hva Sheet2 inneholder:

For å gjøre dette følger vi trinnene nedenfor:

  • Lag et makronavn i modulen.

Kode:

Sub LastRow () Slutt Sub
  • Definer variabelen LastRow som heltall.

Kode:

Sub LastRow () Dim LastRow Som Integer End Sub
  • Nå tilordner variabelen LastRow med formelen for å beregne det sist brukte radnummeret:

Kode:

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

SpecialCells-metoden i Excel VBA returnerer et områdeobjekt som bare representerer de spesifiserte celletyper. Syntaksen for SpecialCells-metoden er:

RangeObject.SpecialCells (Type, Value)

I koden ovenfor representerer xlCellTypeLastCell: den siste cellen i det brukte området.

Merk: 'xlCellType' vil til og med inkludere tomme celler som har fått standardformatet for noen av cellene endret.
  • Nå kan den resulterende verdien av LastRow-nummer vises og returneres ved hjelp av en meldingsboks (MsgBox) som følger:

Kode:

Sub LastRow () Dim LastRow Som Integer LastRow = ActiveSheet.UsedRange.SpecialCells (xlCellTypeLastCell) .Row MsgBox LastRow End Sub
  • Nå kjører vi denne koden manuelt eller ved å trykke F5, og vi får det sist brukte radnummeret i Ark2 vist i en meldingsboks som følger:

Så vi kan se i skjermbildet ovenfor at '12' returneres i meldingsboksen, og som vi kan se i Ark2, er sist brukte radnummer 12.

På samme måte, hvis vi ønsker å finne det sist brukte kolonnenummeret i Sheet2, vil vi følge de samme trinnene som ovenfor, bortsett fra en liten endring i koden som følger:

Kode:

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

Nå når vi kjører denne koden manuelt eller ved å trykke på F5, får vi det sist brukte kolonnenummeret i Ark2 vist i en meldingsboks som følger:

Så vi kan se i skjermbildet ovenfor at '3' returneres i meldingsboksen, og som vi kan se i Sheet2, er det sist brukte kolonnetallet 3.

Ting å huske på VBA UsedRange

  • VBA UsedRange er et rektangelområde.
  • VBA UsedRange inkluderer celler som har data eller er formatert etc.
  • Excel VBA UsedRange inkluderer ikke nødvendigvis den øverste venstre cellen i regnearket.
  • UsedRange anser ikke nødvendigvis den aktive cellen som brukt.
  • UsedRange kan brukes til å finne den sist brukte raden i VBA og til å tilbakestille det brukte området osv.
  • Ved å trykke snarveien på Excel-tastene CTRL + SKIFT + ENTER på et tastatur kan du bruke til å utvide valget fra en aktiv celle til den sist brukte cellen på et regneark.

Interessante artikler...