VBA Resize | Как использовать свойство изменения размера в Excel VBA? (С примерами)

Изменение размера Excel VBA

Изменить размер - это свойство, доступное в VBA для изменения или изменения размера диапазона ячеек из активной ячейки по мере необходимости. Например, предположим, что вы находитесь в ячейке B5, и из этой ячейки, если вы хотите выбрать 3 строки и два столбца, мы можем изменить размер диапазона, используя свойство RESIZE VBA.

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

Ниже приведен синтаксис свойства VBA RESIZE.

Диапазон (). Изменить размер ([Размер строки], [Размер столбца])

Во-первых, нам нужно указать, из какой ячейки нам нужно изменить размер, используя объект Range .

Затем используйте свойство excel VBA Resize, и в этом свойстве нам нужно указать ограничение размера строки и ограничение размера столбца . На основании предоставленных номеров строк и номеров столбцов он изменит его размер.

Примеры использования Resize в VBA

Ниже приведены примеры использования изменения размера в Excel VBA.

Вы можете скачать этот шаблон Excel для изменения размера VBA здесь - шаблон для изменения размера VBA для Excel

Пример # 1

Предположим, у вас есть данные из ячейки от A1 до B14 и из ячейки A1, если вы хотите выбрать 3 строки вниз и два столбца слева, мы можем сделать это, используя свойство RESIZE в Excel VBA.

Ниже приведены данные, которые мы используем для этого примера.

Итак, сначала нам нужно указать первую ссылку на ячейку или начальную точку с помощью объекта RANGE, в этом примере начальной точкой является ячейка A1.

Код:

Sub Resize_Example () Диапазон ("A1"). Конец подписки

Для этого диапазона используйте свойство RESIZE.

Код:

 Sub Resize_Example () Диапазон ("A1"). Resize (End Sub 

Первый аргумент RESIZE - это размер строки, поэтому нам нужно выбрать 3 строки данных и предоставить числовое значение 3.

Код:

 Sub Resize_Example () Диапазон ("A1"). Resize (3, End Sub 

Следующий аргумент - это размер столбца, для этого введите, как столбцы вам нужно выбрать, я введу 3 столбца.

Код:

 Sub Resize_Example () Диапазон ("A1"). Resize (3,3) End Sub 

После изменения размера нам нужно указать, что нам нужно делать с этим диапазоном. Я просто выберу метод «Выбрать», чтобы начать.

Код:

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

Запустите код и посмотрите, сколько строк и сколько столбцов он выберет.

Как вы можете видеть выше из ячейки A1, она выбрала три строки вниз и три столбца справа.

Пример # 2

Теперь взгляните на приведенный ниже код VBA.

В приведенном выше коде Row Size, мы поставили пустую ячейку  и для столбца Размер, мы поставили 3.

Код:

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

Запустите код и посмотрите, сколько строк и сколько столбцов он выберет.

Как вы можете видеть, он выделил только активную строку ячеек, т.е. 1-ю строку и три столбца. Это связано с тем, что для размера строки мы предоставили пустую ячейку,  а для размера столбца мы предоставили 3, и, соответственно, он выбрал диапазон данных.

Теперь посмотрите на приведенный ниже код.

Код:

 Sub Resize_Example() Range("A1").Resize(3).Select 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 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

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.