VBA-storlek - Hur använder jag Resize Property i Excel VBA? (Med exempel)

Innehållsförteckning

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 från den här cellen, om du vill välja 3 rader och två kolumner, 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 den här egenskapen måste vi leverera radstorleken gräns och kolumnstorleken gräns. Baserat på de angivna radnumren och kolumnnumren kommer den att ändra storlek på den.

Exempel på användning av storlek i VBA

Nedan följer exemplen på hur du använder resize i excel VBA.

Exempel 1

Antag att du har data från A1 till B14-cell och från A1-cell, om du vill välja 3 rader nere och två kolumner till vänster, 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.

Först måste vi ange den första cellreferensen eller startpunkten med RANGE-objektet. I detta exempel är utgångspunkten 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 för RESIZE är radstorlek , så vi måste välja 3 rader med data och ange det numeriska värdet 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 skriva in tre kolumner.

Koda:

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

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

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 tomma celler 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. 1: a raden och tre kolumner. Detta beror till Row storlek, har vi levererat tomma celler, och för kolumn storlek, 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

What this code will do is it will select only three rows, including the active cell row but no extra columns.

Example #3

Use Resize To Select Unknown Ranges. Resize is best utilized when you want to select an unknown range of cells. For example, look at the below image of the data range.

It has data all the ways from Column A to Column P and row-wise we have up until the 700th row.

Assume you know your data will keep changing, and you want to select the data range every now and then by manually changing the row and column number. However, by using VBA RESIZE property, we can do this easily.

Look at the below code.

Code:

Sub Resize_Example1() Dim LR As Long Dim LC As Long Worksheets("Sales Data").Select LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Cells(1, 1).Resize(LR, LC).Select End Sub

First, I have declared two variables to find the last used row (LR) and the last used column (LC).

Dim LR As Long Dim LC As Long

Since our data is in the worksheet named “Sales Data,” we are choosing this worksheet by using the below code.

Worksheets(“Sales Data”).Select

Now below code will find the last used row and last used column.

LR = Cells(Rows.Count, 1).End(xlUp).Row

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

Nu från den första cellen ändrar vi storleken på intervallet från den senast använda raden till den senast använda kolumnen och välj är metoden som används. Så nu spelar det ingen roll hur stor din data är. Det kommer dynamiskt att välja data genom att hitta den senast använda raden och senast använda kolumnen.

Saker att komma ihåg

  • Ändra storlek på egendom i VBA kommer att ändra storleken på intervallet från den aktiva cellen (inklusive den aktiva cellen också).
  • Vi behöver bara ange hur många rader och hur många kolumner som ska ändras från den aktiva cellen i VBA.
  • Vi kan inte använda negativt rad- och kolumnummer för RESIZE-egendom.

Intressanta artiklar...