Zmena veľkosti VBA | Ako používať vlastnosť zmeny veľkosti v programe Excel VBA? (S príkladmi)

Excel VBA Resize

Zmena veľkosti je vlastnosť dostupná vo VBA, ktorá umožňuje podľa potreby meniť alebo meniť veľkosť buniek z aktívnej bunky. Predpokladajme napríklad, že sa nachádzate v bunke B5 a z tejto bunky, ak chcete vybrať 3 riadky a dva stĺpce, môžeme zmeniť veľkosť rozsahu pomocou vlastnosti VEĽKOSŤ VEĽKA.

Syntax vlastnosti VBA Resize

Nižšie je uvedená syntax vlastnosti VBA RESIZE.

Range (). Zmena veľkosti ([Veľkosť riadku], [Veľkosť stĺpca])

Najskôr musíme pomocou objektu Range dodať, z ktorej bunky potrebujeme zmeniť veľkosť .

Potom použite vlastnosť Excel VBA Resize a v tejto vlastnosti musíme dodať limit veľkosti riadku a limit veľkosti stĺpca . Na základe poskytnutých čísel riadkov a čísel stĺpcov sa zmení jeho veľkosť.

Príklady použitia zmeny veľkosti vo VBA

Nižšie uvádzame príklady použitia zmeny veľkosti v programe Excel VBA.

Túto šablónu VBA Resize Excel si môžete stiahnuť tu - Šablóna VBA Resize Excel

Príklad č

Predpokladajme, že máte údaje z bunky A1 do bunky B14 a z bunky A1, ak chcete vybrať 3 riadky nadol a dva stĺpce vľavo, čo môžeme urobiť pomocou vlastnosti ZMENIŤ VEĽKOSŤ v Exceli VBA.

Ďalej uvádzame údaje, ktoré používame pre tento príklad.

Najprv teda musíme zadať prvý odkaz na bunku alebo východiskový bod pomocou objektu RANGE, v tomto príklade je východiskovým bodom bunka A1.

Kód:

Sub Resize_Example () Rozsah ("A1"). Koniec Sub

Pre tento rozsah použite vlastnosť RESIZE.

Kód:

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

Prvým argumentom RESIZE je veľkosť riadku, takže musíme vybrať 3 riadky údajov a zadať číselnú hodnotu 3.

Kód:

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

Ďalším argumentom je Veľkosť stĺpca pre toto zadajte, ako stĺpce musíte vybrať, zadám 3 stĺpce.

Kód:

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

Po vykonaní zmeny veľkosti musíme dodať, čo musíme urobiť s týmto rozsahom. Na začiatok si zvolím metódu „Vybrať“.

Kód:

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

Spustite kód a uvidíte, koľko riadkov a koľko stĺpcov by vybral.

Ako vidíte vyššie z bunky A1, má vybrané tri riadky nadol a tri stĺpce vpravo.

Príklad č

Teraz sa pozrite na nižšie uvedený kód VBA.

Vo vyššie uvedenom kóde pre veľkosť riadku sme dodali prázdnu bunku  a pre veľkosť stĺpca sme zadali 3.

Kód:

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

Spustite kód a uvidíte, koľko riadkov a koľko stĺpcov by vybral.

Ako vidíte, má vybraný iba aktívny riadok bunky, tj. 1. riadok a tri stĺpce. Je to tak preto, lebo pre veľkosť riadku sme zadali prázdnu bunku  a pre veľkosť stĺpca sme zadali 3, a podľa toho vybral rozsah údajov.

Teraz sa pozrite na nižšie uvedený kód.

Kód:

 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.