VBA átméretezése | Hogyan használhatom a Resize Property átméretezését az Excel VBA-ban? (Példákkal)

Az Excel VBA átméretezése

Az Átméretezés a VBA-ban elérhető tulajdonság, amellyel szükség szerint megváltoztathatja vagy átméretezheti az aktív cella cellatartományát. Tegyük fel például, hogy a B5 cellában van, és ebből a cellából, ha 3 sort és két oszlopot szeretne kijelölni, megváltoztathatjuk a tartomány méretét a VBA RESIZE tulajdonságának használatával.

A VBA Resize Property tulajdonságának szintaxisa

Az alábbiakban látható a VBA RESIZE tulajdonság szintaxisa.

Tartomány (). Átméretezés ([Sorméret], [Oszlopméret])

Először meg kell adnunk, hogy melyik cellából kell átméreteznünk a Range objektumot.

Ezután használja az excel VBA Resize tulajdonságot, és ebben a tulajdonságban meg kell adnunk a sorok és az oszlopok méretének korlátozását. A megadott sorszám és oszlopszám alapján átméretezi.

Példák a Resize használatára a VBA-ban

Az alábbiakban bemutatjuk az átméretezés használatának példáit az excel VBA-ban.

Itt töltheti le ezt a VBA Resize Excel Template - VBA Resize Excel Template

1. példa

Tegyük fel, hogy az A1 és a B14 cellák, valamint az A1 cellák adatai vannak, ha 3 sort lefelé és két oszlopot balra szeretne kijelölni, ezt megtehetjük a RESIZE tulajdonság használatával az Excel VBA-ban.

Az alábbiakban bemutatjuk azokat az adatokat, amelyeket erre a példára használunk.

Tehát először meg kell adnunk az első cella referenciát vagy kiindulási pontot a RANGE objektum használatával, ebben a példában a kiindulási pont az A1 cella.

Kód:

Sub Resize_Example () tartomány ("A1"). End Sub

Ehhez a tartományhoz használja a RESIZE tulajdonságot.

Kód:

 Sub Resize_Példa () tartomány ("A1"). Átméretezés (Sub Sub vége) 

Az első érv az Átméretezés sorméretkorlátot ezért ki kell választani 3 sor az adatok és a kínálat a számértéke 3.

Kód:

 Sub Resize_Példa () tartomány ("A1"). Átméretezés (3, Sub Sub 

A következő argumentum: Oszlopméret ehhez az oszlophoz kell kiválasztani, 3 oszlopot adok meg.

Kód:

 Sub Resize_Példa () tartomány ("A1"). Resize (3,3) End Sub 

Miután elkészült az átméretezés, meg kell adnunk, mit kell tennünk ezzel a tartománysal. Csak a „Select” módszert választom a kezdéshez.

Kód:

 Sub Resize_Example () tartomány ("A1"). Átméretezés (3, 3). Válassza a End Sub lehetőséget 

Futtassa a kódot, és nézze meg, hogy hány sort és hány oszlopot jelölne ki.

Ahogy fentebb láthatja az A1 cellából, három sort lefelé és három oszlopot választott jobbra.

2. példa

Most vessen egy pillantást az alábbi VBA kódra.

A fenti kódot sorméretkorlátot, már szállított üres cella  és oszlop mérete, az általunk szállított 3.

Kód:

 Sub Resize_Example () tartomány ("A1"). Átméretezés (0, 3). Válassza a End Sub lehetőséget 

Futtassa a kódot, és nézze meg, hogy hány sort és hány oszlopot jelölne ki.

Amint láthatja, csak az aktív cellasort jelölte ki, azaz az 1. sort és a három oszlopot. Ez azért van, mert a sorok száma az általunk szállított üres cella  és oszlop mérete, már szállított 3, és ennek megfelelően választotta az adatokat tartományban.

Most nézze meg az alábbi kódot.

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.