Преоразмеряване на VBA - Как да използвам Resize Property в Excel VBA? (С примери)

Преоразмеряване на Excel VBA

Преоразмеряването е свойство, налично във VBA, за да променя или преоразмерява диапазона от клетки от активната клетка, ако е необходимо. Например, приемете, че сте в клетката B5 и от тази клетка, ако искате да изберете 3 реда и две колони, можем да променим размера на диапазон, като използваме свойството RESIZE на VBA.

Синтаксис на свойството за преоразмеряване на VBA

По-долу е синтаксисът на свойството VBA RESIZE.

Обхват (). Преоразмеряване ((Размер на реда), (Размер на колоната))

Първо, трябва да предоставим от коя клетка трябва да преоразмерим с помощта на обекта Range .

След това използвайте свойството excel VBA Resize и в това свойство трябва да предоставим ограничение на размера на реда и ограничението на размера на колоната . Въз основа на предоставените номера на редове и номера на колони, той ще го преоразмери.

Примери за използване на Resize в VBA

По-долу са примерите за използване на преоразмеряване в Excel VBA.

Пример # 1

Да предположим, че имате данни от клетка от А1 до В14 и от клетка А1, ако искате да изберете 3 реда надолу и две колони вляво, можем да направим това, като използваме свойството РАЗМЕР в Excel VBA.

По-долу са данните, които използваме за този пример.

Първо, трябва да предоставим първата референтна или начална точка на клетката, като използваме обекта RANGE. В този пример началната точка е клетката А1.

Код:

Sub Resize_Example () Диапазон ("A1"). Крайна под

За този диапазон използвайте свойството РАЗМЕР.

Код:

Sub Resize_Example () Обхват ("A1"). Resize (End Sub

Първият аргумент на RESIZE е Размер на реда, така че трябва да изберем 3 реда от данните и да предоставим числовата стойност на 3.

Код:

Sub Resize_Example () Обхват ("A1"). Resize (3, End Sub

Следващият аргумент е Column Size за това, въведете как трябва да изберете колони. Ще въведа 3 колони.

Код:

Sub Resize_Example () Обхват ("A1"). Resize (3,3) Край Sub

След като преоразмеряването приключи, трябва да предоставим какво трябва да направим с този диапазон. Просто ще избера метода “Select”, за да започна.

Код:

Sub Resize_Example () Range ("A1"). Resize (3, 3). Изберете End Sub

Изпълнете кода и вижте колко реда и колко колони би избрал.

Както можете да видите по-горе от клетката A1, тя е избрала три реда надолу и три колони вдясно.

Пример # 2

Сега погледнете кода по-долу VBA.

В горния код за Row Размер, който се доставя с празни клетки, както и за Колона Размер, който се доставя с 3.

Код:

Sub Resize_Example () Обхват ("A1"). Resize (0, 3). Изберете End Sub

Изпълнете кода и вижте колко реда и колко колони би избрал.

Както можете да видите, той е избрал само активния ред на клетката, т.е. 1- ви ред и три колони. Това е така, защото за размера на реда сме предоставили празни клетки, а за размера на колоната сме предоставили 3 и съответно е избрал диапазона от данни.

Сега вижте кода по-долу.

Код:

Sub Resize_Example () Обхват ("A1"). Resize (3). Изберете 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

Сега от първата клетка, ние преоразмеряваме диапазона от последния използван ред до последната използвана колона и select е използваният метод. Така че сега няма значение колко големи са вашите данни. Той ще избере динамично данните, като намери последния използван ред и последната използвана колона.

Неща за запомняне

  • Свойството за преоразмеряване във VBA ще промени размера на диапазона от активната клетка (включително и активната клетка).
  • Трябва само да предоставим колко реда и колко колони да бъдат преоразмерени от активната клетка във VBA.
  • Не можем да използваме отрицателен номер на ред и колона за свойството РАЗМЕР.

Интересни статии...