VBA-valintervall - Hur väljer man ett intervall i Excel VBA?

Innehållsförteckning

Excel VBA-valintervall

Efter grundfyllningen med VBA är det viktigt att förstå hur man arbetar med ett antal celler i kalkylbladet. När du har börjat exekvera koder praktiskt taget för det mesta måste du arbeta med ett antal celler, så det är viktigt att förstå hur man arbetar med ett cellområde, och ett sådant koncept är VBA "Selection of Range." I den här artikeln visar vi dig hur du arbetar med "Selection Range" i Excel VBA.

Val och intervall är två olika ämnen, men när vi säger att välja intervall eller val av intervall är det ett enda koncept. RANGE är ett objekt, "Selection" är en egenskap och "Select" är en metod. Människor tenderar att förväxla med dessa villkor. Det är viktigt att känna till skillnaderna i allmänhet.

Hur väljer man ett intervall i Excel VBA?

Exempel 1

Antag till exempel att du vill markera cellen A1 i kalkylbladet sedan. Först måste vi ange celladressen med ett RANGE-objekt som nedan.

Koda:

Efter att ha nämnt cellen som vi behöver välja, sätt en prick för att se IntelliSense-listan, som är associerad med RANGE-objektet.

Forma denna mängd olika listor, välj "Välj" -metoden.

Koda:

Sub Range_Example1 () Range ("A1") Välj End Sub

Nu väljer den här koden cellen A1 i det aktiva kalkylbladet.

Om du vill välja cellen i de olika kalkylbladen måste vi först ange kalkylbladet med dess namn. För att specificera kalkylbladet måste vi använda objektet “WORKSHEET” och ange kalkylbladets namn med dubbla citat.

Om du till exempel vill markera cellen A1 i kalkylbladet "Datablad" anger du först kalkylbladet precis som nedan.

Koda:

Underområde_Exempel1 () Kalkylblad ("Datablad") Slut Sub

Fortsätt sedan koden för att specificera vad vi behöver göra i det här arket. I "Datablad" behöver vi markera cellen A1 så att koden blir RANGE ("A1").

Koda:

Underområde_Exempel1 () Kalkylblad ("Datablad"). Område ("A1"). Välj Avsluta

När du försöker köra den här koden får vi nedanstående fel.

Anledningen till detta är "vi kan inte direkt leverera intervallobjekt och välja metod för kalkylarkobjektet."

Först måste vi välja eller aktivera VBA-kalkylbladet, och sedan kan vi göra vad som helst vi ville göra.

Koda:

Underområde_Exempel1 () Kalkylblad ("Datablad"). Aktivera intervall ("A1"). Välj Avsluta

Nu kommer detta att markera cellen A1 i kalkylbladet "Datablad."

Exempel # 2 - Arbeta med aktuellt valt intervall

Välj är en annan sak och att arbeta med ett redan valt cellområde är annorlunda. Antag att du vill infoga ett värde "Hej VBA" i cellen A1 så kan vi göra det på två sätt.

För det första kan vi direkt skicka VBA-koden som RANGE (“A1”). Värde = “Hej, VBA.”

Koda:

Sub Range_Example1 () Range ("A1"). Värde = "Hello VBA" End Sub

Vad den här koden kommer att göra är att detta bara infogar värdet “Hej VBA” i cellen A1 oavsett vilken cell som för närvarande är vald.

Titta på ovanstående resultat av koden. När vi kör den här koden har den infogat värdet "Hej VBA", även om den valda cellen är B2.

För det andra kan vi infoga värdet i cellen med hjälp av "Selection" -egenskapen. För det första måste vi välja cellen manuellt och köra koden.

Koda:

Sub Range_Example1 () Selection.Value = "Hello VBA" End Sub

Vad den här koden kommer att göra är att detta infogar värdet "Hej VBA" i den valda cellen. Se till exempel exemplet nedan för utförande.

När jag körde koden var min nuvarande valda cell B2, och vår kod infogade samma värde i den valda cellen.

Nu ska jag välja cell B3 och köra, där kommer vi också att få samma värde.

En sak till som vi kan göra med "urval" -egenskapen är att vi också kan infoga värde till mer än en cell. Till exempel väljer jag nu cellintervallet från A1 till B5.

Nu, om jag kör koden för alla valda celler får vi värdet som "Hej VBA."

Så den enkla skillnaden mellan att ange celladress med RANGE-objekt och Selection-egenskapen är att objektkod i Range infogar värde till cellerna som anges specifikt.

Men i Selection-objektet spelar det ingen roll vilken cell du befinner dig i. Det kommer att infoga det nämnda värdet till alla markerade celler.

Saker att komma ihåg här

  • Vi kan inte leverera vald metod direkt under Selection-egenskapen.
  • RANGE är ett objekt och urval är egendom.
  • Istället för intervall kan vi använda CELLS-egenskapen.

Intressanta artiklar...