Excel VBA Range Object

Vad är VBA Range?

VBA Range Object representerar en cell eller flera celler i ditt Excel-kalkylblad. Det är det viktigaste objektet i Excel VBA. Genom att använda Excel VBA-områdesobjekt kan du referera till,

  • En enda cell
  • En rad eller en kolumn med celler
  • Ett urval av celler
  • Ett 3D-område

Som vi diskuterade i vår tidigare handledning, att VBA används för att spela in och köra makro. Men hur VBA identifierar vilken data från arket som behöver köras. Det är här VBA Range Objects är användbart.

Introduktion till att referera till objekt i VBA

Refererar till Excels VBA Range Object och Object Qualifier.

  • Objektkval: Detta används för att referera till objektet. Den anger arbetsboken eller arbetsbladet du hänvisar till.

För att manipulera dessa cellvärden, Våra Bostäder och Metoder används.

  • Fast egendom: En egenskap lagrar information om objektet.
  • Metod: En metod är en åtgärd av objektet den ska utföra. Områdesobjekt kan utföra åtgärder som markerat, kopierat, raderat, sorterat, etc.

VBA följer objekthierarkimönster för att referera objekt i Excel. Du måste följa följande struktur. Kom ihåg att .dot här förbinder objektet på var och en av de olika nivåerna.

Tillämpning.Arbetsböcker.Arbetsblad.Utbud

Det finns två huvudtyper av standardobjekt.

Hur man refererar till Excel VBA Range Object med Range-egenskapen

Range-egenskap kan användas i två olika typer av objekt.

  • Arbetsbladsobjekt
  • Räckviddsobjekt

Syntax för Range Property

  1. Nyckelordet "Räckvidd".
  2. Parenteser som följer nyckelordet
  3. Relevant cellområde
  4. Citat (" ")
Application.Workbooks("Book1.xlsm").Worksheets("Sheet1").Range("A1")

När du refererar till Range-objekt, som visas ovan, kallas det fullständigt kvalificerad referens. Du har berättat för Excel exakt vilket intervall du vill ha, vilket blad och i vilket kalkylblad.

Exempelvis: MeddBox Arbetsblad(“blad1”).Omfång(“A1”).Värde

Med Range-egenskapen kan du utföra många uppgifter som,

  • Hänvisa till en enskild cell som använder intervallegenskapen
  • Se en enskild cell med egenskapen Worksheet.Range
  • Hänvisa till en hel rad eller kolumn
  • Se sammanslagna celler med Worksheet.Range Property och många fler

Som sådan blir det för långt för att täcka alla scenarier för intervallegendom. För scenarier som nämns ovan kommer vi att visa ett exempel endast för ett. Hänvisa till en enskild cell med intervallegenskap.

Se en enskild cell med egenskapen Worksheet.Range

För att referera till en enskild cell måste du referera till en enskild cell.

Syntax är enkel "Omfång("Cell")".

Här kommer vi att använda kommandot ".Select" för att välja den enskilda cellen från arket.

Steg 1) I det här steget öppnar du ditt excel.

En cell med hjälp av egenskapen Worksheet.Range

Steg 2) I detta steg

  • Klicka på En cell med hjälp av egenskapen Worksheet.Range knapp.
  • Det kommer att öppna ett fönster.
  • Ange ditt programnamn här och klicka på knappen "OK".
  • Det tar dig till huvudfilen i Excel, från toppmenyn klicka på "stopp" inspelningsknappen för att stoppa inspelningen av makro.

En cell med hjälp av egenskapen Worksheet.Range

Steg 3) I nästa steg,

  • Klicka på Makro-knappen En cell med hjälp av egenskapen Worksheet.Range från toppmenyn. Det kommer att öppna fönstret nedan.
  • I det här fönstret klickar du på knappen "redigera".

En cell med hjälp av egenskapen Worksheet.Range

Steg 4) Ovanstående steg öppnar VBA-kodredigeraren för filnamnet "Single Cell Range". Ange koden enligt nedan för att välja intervall "A1" från excel.

En cell med hjälp av egenskapen Worksheet.Range

Steg 5) Spara nu filen En cell med hjälp av egenskapen Worksheet.Range och kör programmet som visas nedan.

En cell med hjälp av egenskapen Worksheet.Range

Steg 6) Du kommer att se att cell "A1" är vald efter körning av programmet.

En cell med hjälp av egenskapen Worksheet.Range

På samma sätt kan du välja en cell med ett visst namn. Till exempel, om du vill söka i cell med namnet "Guru99-VBA Tutorial". Du måste köra kommandot som visas nedan. Den kommer att markera cellen med det namnet.

Range ("Guru99- VBA Tutorial"). Välj

För att tillämpa andra intervallobjekt här är kodexemplet.

Område för att välja cell i Excel Räckvidd deklarerad
För enkelrad Range(“1:1”)
För enstaka kolumn Range(“A: A”)
För sammanhängande celler Range(“A1:C5”)
För icke-sammanhängande celler Range(“A1:C5, F1:F5”)
För skärning av två områden Range(“A1:C5 F1:F5”)

(För skärningscell, kom ihåg att det inte finns någon komma-operator)

För att slå samman cell Range(“A1:C5”)

(För att slå samman cell använd kommandot "merge")

Cellegenskap

På samma sätt som intervallet, i VBA Du kan också "Cell Property". Den enda skillnaden är att den har en "objekt"-egenskap som du använder för att referera till cellerna i ditt kalkylark. Cellegenskapen är användbar i en programmeringsslinga.

Till exempel,

Cells.item(rad, kolumn). Båda raderna nedan hänvisar till cell A1.

  • Cells.item(1,1) ELLER
  • Cells.item(1,”A”)

Egenskapen Range Offset

Egenskapen för intervallförskjutning kommer att välja rader/kolumner bort från sin ursprungliga position. På basis av det deklarerade intervallet väljs celler. Se exempel nedan.

Till exempel,

Range("A1").offset(Rowoffset:=1, Columnoffset:=1).Select

Resultatet för detta kommer cell B2. Offset-egenskapen flyttar A1-cell till 1 kolumn och 1 rad bort. Du kan ändra värdet på radförskjutning / kolumnförskjutning enligt krav. Du kan använda ett negativt värde (-1) för att flytta celler bakåt.

Ladda ner Excel som innehåller ovanstående kod

Ladda ner ovanstående Excel-kod

Sammanfattning

  • VBA Range Object representerar en cell eller flera celler i ditt Excel-kalkylblad
  • En enda cell
  • En rad eller en kolumn med celler
  • Ett urval av celler
  • Ett 3D-område
  • För att manipulera cellvärden, Våra Bostäder och Metoder används
  • En egenskap lagrar information om objektet
  • En metod är en åtgärd av objektet den kommer att utföra som att välja, slå samman, sortera, etc.
  • VBA följer objekthierarkimönster för att referera objekt i Excel med .dot-operatorn
  • Range-egenskap kan användas i två olika typer av objekt
  • Arbetsbladsobjekt
  • Räckviddsobjekt