VBA ändra storlek

Excel VBA ändra storlek

Ändra storlek är en egenskap som finns i VBA för att ändra eller ändra storlek på celler från den aktiva cellen efter behov. Antag till exempel att du befinner dig i cellen B5, och om du vill välja 3 rader och två kolumner från den här cellen kan vi ändra storleken på ett intervall genom att använda RESIZE-egenskapen för VBA.

Syntax för VBA Resize Property

Nedan visas syntaxen för egenskapen VBA RESIZE.

Område (). Ändra storlek ([Radstorlek], [Kolumnstorlek])

Först måste vi ange från vilken cell vi behöver ändra storlek med hjälp av Range- objektet.

Använd sedan Excel VBA Resize egendom och i denna egenskap, måste vi leverera radstorleken gräns och kolumnstorleken gräns. Baserat på de angivna radnumren och kolumnnumret kommer det att ändra storlek på det.

Exempel på användning av storlek i VBA

Nedan följer exempel på hur man använder resize i excel VBA.

Du kan ladda ner denna Excel-mall för VBA-storlek här - VBA-storlek för Excel-storlek

Exempel nr 1

Antag att du har data från A1 till B14-cell och från A1-cell om du vill välja 3 rader nedåt och två kolumner vänsterområde kan vi göra detta genom att använda RESIZE-egenskapen i Excel VBA.

Nedan följer de data vi använder för detta exempel.

Så först måste vi ange den första cellreferensen eller startpunkten med RANGE-objektet, i detta exempel är startpunkten A1-cellen.

Koda:

Sub Resize_Example () Range ("A1"). Avsluta sub

Använd RESIZE-egenskapen för detta intervall.

Koda:

 Sub Resize_Example () Range ("A1"). Resize (End Sub 

Det första argumentet i RESIZE är Row storlek så vi måste välja 3 rader med data och tillhandahålla ett numeriskt värde av 3.

Koda:

 Sub Resize_Example () Range ("A1"). Resize (3, End Sub 

Nästa argument är Kolumnstorlek för detta ange hur kolumner du behöver välja, jag kommer att ange 3 kolumner.

Koda:

 Sub Resize_Example () Range ("A1"). Resize (3,3) End Sub 

När storleksändringen är klar måste vi leverera vad vi behöver göra med detta intervall. Jag väljer bara "Välj" -metoden för att börja.

Koda:

 Sub Resize_Example () Range ("A1"). Resize (3, 3). Välj End Sub 

Kör koden och se hur många rader och hur många kolumner den skulle välja.

Som du kan se ovan från A1-cellen har den valt tre rader nedåt och tre kolumner till höger.

Exempel 2

Titta nu på nedanstående VBA-kod.

I ovanstående kod för radstorlek har vi levererat tom cell  och för kolumnstorlek har vi levererat 3.

Koda:

 Sub Resize_Example () Range ("A1"). Resize (0, 3). Välj End Sub 

Kör koden och se hur många rader och hur många kolumner den skulle välja.

Som du kan se har den endast markerat den aktiva cellraden, dvs. första raden och tre kolumner. Detta beror på att vi för radstorlek har levererat tom cell  och för kolumnstorlek har vi levererat 3, och följaktligen har det valt dataområdet.

Titta nu på koden nedan.

Koda:

 Sub Resize_Example () Range ("A1"). Resize (3). Välj End Sub 

Vad den här koden kommer att göra är att den bara markerar tre rader inklusive den aktiva cellraden men inga extra kolumner.

Exempel # 3

Använd storlek för att välja okända intervall. Ändra storlek används bäst när du vill välja ett okänt cellområde. Titta till exempel på nedanstående bild av dataområdet.

Den har data hela vägen från kolumn A till kolumn P och radmässigt har vi fram till 700: e raden.

Antag att du vet att dina data kommer att förändras och att du vill välja dataintervall då och då genom att ändra rad- och kolumnnummer manuellt. Men genom att använda VBA RESIZE-egenskapen kan vi göra det enkelt.

Titta på koden nedan.

Koda:

 Understorlek_Exempel1 () Dim LR så lång Dim LC som långa kalkylblad ("Försäljningsdata"). Välj LR = celler (rader.antal, 1). Slut (xlUp). Rad LC = celler (1, kolumner. Antal). Slut (xlToLeft). Kolumnceller (1, 1). Storlek (LR, LC). Välj End Sub 

Först har jag förklarat två variabler för att hitta den senast använda raden (LR) och den senast använda kolumnen (LC).

 Dim LR Så Lång Dim LC Så Lång 

Eftersom våra uppgifter finns i kalkylbladet ”Försäljningsdata” väljer vi detta kalkylblad med hjälp av nedanstående kod.

Kalkylblad (”Försäljningsdata”). Välj

Nu nedanför koden hittar du den senast använda raden och senast använda kolumnen.

LR = celler (rader.antal, 1). Slut (xlUp). Rad

LC = Celler (1, Columns.Count) .End (xlToLeft) .Column

Now from the first cell, we resizing the range from last used row to last used column and select is the method used. So now it doesn’t matter how big your data is it will dynamically select the data by finding the last used row and last used column.

Things to Remember

  • Resize property in VBA will change the size of the range from the active cell (including the active cell as well).
  • We just need to provide how many rows and how many columns to be resized from the active cell in VBA.
  • We cannot use negative row & column number for RESIZE property.