VBA Range

Excel VBA Range Object

Range är en egenskap i VBA liknar egenskapen för kalkylbladet, range-egenskapen har också många applikationer och användningsområden, när vi skriver vår kod och anger ett visst cellområde eller en viss cell görs det med metoden för range-egenskap, det används för att ge referens till cellerader och kolumner.

Som du vet används VBA för att spela in och köra makron och automatisera exceluppgifterna och göra repetitiva uppgifter snabbare och mer exakt.

Inom ramen för excel-kalkylbladet betecknar VBA-intervallobjektet celler, antingen enkla eller flera. Områdesobjektet kan inkludera en enda cell, en hel rad eller kolumn eller flera celler spridda över rader och kolumner.

För att VBA ska kunna köra makron och utföra uppgifterna måste den identifiera de celler som de anropade uppgifterna måste utföras på. Det är här, begreppet Range Objects finner sin användbarhet.

Hur använder jag Range Object?

För att hänvisa till objekten i VBA använder vi den hierarkiska tekniken. Det finns tre hierarkier:

  • Objektkvalificering: Det refererar till objektets placering, som var den är, dvs. arbetsboken eller kalkylbladet som det hänvisas till.
  • De andra två används för att göra manipulation av cellvärden. Dessa är egendom och metoder.
  • Egendom: Här lagras informationen om objektet.
  • Metod: Det hänvisar till den åtgärd som objektet kommer att utföra.

Till exempel för Range kommer metoden att vara åtgärder som sortering, formatering, markering, rensning etc.

Detta är strukturen som följs när ett VBA-objekt hänvisas. Dessa tre är åtskilda av en punkt (.)

Application.Workbooks.Worksheets.Range

syntax

Application.Workbooks (“Booknew.xlsm”). Arbetsblad (“Sheet3”). Range (“B1”)

Exempel

Du kan ladda ner denna VBA Range Excel-mall här - VBA Range Excel-mall

Exempel # 1 - Hänvisar till en enda cell

Låt oss anta att vi måste välja cellen "B2" i "ark1" i arbetsboken.

Följ stegen nedan:

  1. Öppna excel. Öppna en med excel-tillägget ".xlsm" som betyder "Excel-makroaktiverad arbetsbok". “.Xlsx” typer excel arbetsbok tillåter dig inte att spara de makron du ska skriva nu.
  2. När du väl har öppnat arbetsboken måste du gå till VBA Editor. Du kan använda genvägen "ALT + F11" för att öppna redigeraren eller använda metoden nedan som visas på skärmdumpen:

Du ser en skärm som liknar nedan:

Skriv nu koden enligt bilden nedan.

Public Sub SingleCellRange ()

DennaWorkbook.Worksheets (“Sheet1”). Range (“B2”). Välj

Avsluta sub

Se i excel-skärmdumpen nedan att för närvarande är cell A2 aktiverad. Efter kör du koden, notera var den aktiverade cellen är.

Kör koden som visas på skärmbilden nedan:

Tips: Du kan också använda snabbkommandot excel, dvs. F5, för att köra koden

Du kommer att se att cellen "B2" har valts efter genomförandet av programmet.

Vad du gör här är att du ger instruktioner till programmet att gå till en viss cell i ett visst kalkylblad i en viss arbetsbok och göra åtgärden som sagt, som är här för att välja.

På samma sätt kan du använda syntaxen för att göra valet av en mängd olika celler och intervall, och också göra en annan typ av åtgärder på dem.

Exempel # 2 - Välja en hel rad

Till exempel här för att välja andra raden. Kör nedanstående kod för att välja en hel rad

Public Sub EntireRowRange ()

DennaWorkbook.Worksheets (“Sheet1”). Range (“2: 2”) Välj

Avsluta sub

Här anger intervallet (“2: 2”) den andra raden. Du kan återgå till ditt Excel-kalkylblad och se resultaten som visas på skärmdumpen nedan.

Exempel # 3 - Välja en hel kolumn

Till exempel, här för att välja hela kolumnen C. Kör nedanstående kod och se resultaten.

Public Sub EntireRowRange ()

DennaWorkbook.Worksheets (“Sheet1”). Range (“2: 2”) Välj

Avsluta sub

När du har angett ovanstående kod ser du att hela kolumnen har valts i ditt Excel-kalkylblad. Se skärmdumpen nedan.

Här betyder intervall ("C: C") kolumn C.

På samma sätt kan du välja kontinuerliga celler eller icke-angränsande celler, en skärningspunkt mellan cellområden etc.

Gör bara nedanstående ändringar i Range-delen som visas i koden.

Exempel # 4 - Välja sammanhängande celler: Område (“B2: D6”)

Exempel # 5 - Välja icke sammanhängande celler: Område (“B1: C5, G1: G3”)

Exempel # 6 - Välja områdeskorsning: Område (“B1: G5 G1: G3”)

[Observera frånvaron av komma här]. Här ser du att G1 till G3 blir valda som är de vanligaste cellerna i det angivna intervallet.

Nu blir nästa exempel att välja en grupp celler i kalkylbladet och slå samman dem i en cell.

Exempel # 7 - Slå ihop ett antal celler

Antag att du vill slå samman cellerna "B1: C5" till en. Se nedanstående kod och följ med.

Här är ".merge" den åtgärd vi utför på gruppen celler som ges i ett intervall

Exempel # 8 - Rensa formatering på cellintervall

Antag att cellerna “F2: H6” är markerade med gult och vi vill rensa den excelformateringen. Ett annat scenario kanske, du vill ta bort all formatering antingen i hela kalkylbladet eller från en grupp celler.

Se skärmdumparna nedan för att följa med. Först visar jag dig de formaterade cellerna (F2: H6).

Kör koderna som visas på skärmdumpen nedan för att ta bort den här formateringen i det valda cellområdet.

Syntax: ThisWorkbook.Worksheets (“Sheet1”). Range (“F2: H6”). ClearFormats

Public Sub ClearFormats ()

ThisWorkbook.Worksheets (“Sheet1”). Range (“F2: H6”). ClearFormats

Avsluta sub

Du kan hänvisa till denna skärmdump nedan:

På samma sätt kan du rensa innehållet i ett cellområde med hjälp av åtgärden ".ClearContents".

Det finns många sådana saker du kan göra. Vänligen försök dem för att lära sig bättre.

Saker att komma ihåg

  • Områdesobjekt betecknar en enda cell eller flera celler.
  • För att manipulera cellvärden måste vi använda egenskaperna och metoderna
  • För att hänvisa objekt i excel följer Range objekthierarkipattern med hjälp av "." Notation.