VBA átméretezése - Hogyan használhatom a Resize Property mé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, a VBA RESIZE tulajdonságának használatával megváltoztathatjuk a tartomány méretét.

A VBA Resize Property szintaxisa

Az alábbiakban a VBA RESIZE tulajdonság szintaxisa található.

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ámok és oszlopszámok 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.

1. példa

Tegyük fel, hogy vannak adatai az A1 és a B14 cellák között, és az A1 cellából, ha 3 sort lefelé és két oszlopot szeretne balra választani, ezt megtehetjük az 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.

Először meg kell adnunk az első cellahivatkozást 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)

A RESIZE első argumentuma a Sorméret , ezért ki kell választanunk az adatok 3 sorát, és meg kell adnunk a 3 számértékét.

Kód:

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

A következő argumentum: Oszlopméret ehhez, adja meg, hogy milyen oszlopokat kell kiválasztania. 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.

Amint az A1 cellából fent látható, 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 cellák, illetve 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, már szállított üres cellák, illetve oszlop mérete, már szállított 3, és ennek megfelelően, általa kiválasztott adatok tartományban.

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

Kód:

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

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

Most az első cellától átméretezzük az utoljára használt sor és az utoljára használt oszlop tartományát, és válassza ki a használt módszert. Tehát most nem számít, hogy mekkora az adata. Dinamikusan kiválasztja az adatokat az utoljára használt sor és az utoljára használt oszlop megkeresésével.

Dolgok, amikre emlékezni kell

  • A VBA tulajdonságának átméretezése megváltoztatja az aktív cellától (beleértve az aktív cellát is) a tartomány méretét.
  • Csak meg kell adnunk, hogy hány sort és hány oszlopot kell átméretezni a VBA aktív cellájából.
  • Nem használhatunk negatív sor- és oszlopszámot a RESIZE tulajdonsághoz.

érdekes cikkek...