VBA Redimensionare | Cum se utilizează Redimensionarea proprietății în Excel VBA? (Cu exemple)

Excel VBA Redimensionare

Redimensionare este o proprietate disponibilă în VBA pentru a modifica sau redimensiona intervalul de celule din celula activă, după cum este necesar. De exemplu, presupuneți că vă aflați în celula B5, iar din această celulă, dacă doriți să selectați 3 rânduri și două coloane, putem schimba dimensiunea unui interval folosind proprietatea RESIZE a VBA.

Sintaxa proprietății de redimensionare VBA

Mai jos este sintaxa proprietății VBA RESIZE.

Gama (). Redimensionare ([Dimensiune rând], [Dimensiune coloană])

În primul rând, trebuie să furnizăm din ce celulă trebuie să redimensionăm folosind obiectul Range .

Apoi utilizați proprietatea Excel VBA Resize și, în această proprietate, trebuie să furnizăm limita dimensiunii rândurilor și a limitei dimensiunii coloanei . Pe baza numerelor de rând furnizate și a numărului coloanei, acesta îl va redimensiona.

Exemple de utilizare a redimensionării în VBA

Mai jos sunt exemple de utilizare a redimensionării în Excel VBA.

Puteți descărca acest șablon Excel de redimensionare VBA aici - Șablon Excel de redimensionare VBA

Exemplul nr. 1

Să presupunem că aveți date de la celula A1 la B14 și de la celula A1 dacă doriți să selectați 3 rânduri în jos și două coloane în stânga, putem face acest lucru utilizând proprietatea RESIZE în Excel VBA.

Mai jos sunt datele pe care le folosim pentru acest exemplu.

Deci, mai întâi, trebuie să furnizăm prima referință de celulă sau punctul de pornire utilizând obiectul RANGE, în acest exemplu punctul de plecare este celula A1.

Cod:

Sub Redimensionare_Exemplu () Interval ("A1"). Sfârșitul Sub

Pentru acest interval utilizați proprietatea RESIZE.

Cod:

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

Primul argument al RESIZE este Dimensiunea rândului, deci trebuie să selectăm 3 rânduri de date și să furnizăm valoarea numerică de 3.

Cod:

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

Următorul argument este Dimensiunea coloanei pentru aceasta introduceți cum trebuie să selectați coloanele, voi introduce 3 coloane.

Cod:

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

Odată ce redimensionarea este finalizată, trebuie să furnizăm ceea ce trebuie să facem cu această gamă. Voi alege doar metoda „Select” pentru a începe.

Cod:

 Sub Resize_Example () Range ("A1"). Redimensionare (3, 3). Selectați End Sub 

Rulați codul și vedeți câte rânduri și câte coloane ar selecta.

După cum puteți vedea mai sus din celula A1, a selectat trei rânduri în jos și trei coloane la dreapta.

Exemplul nr. 2

Acum aruncați o privire la codul VBA de mai jos.

În codul de mai sus pentru Dimensiunea rândului, am furnizat celula goală,  iar pentru Dimensiunea coloanei, am furnizat 3.

Cod:

 Sub Resize_Example () Range ("A1"). Redimensionare (0, 3). Selectați End Sub 

Rulați codul și vedeți câte rânduri și câte coloane ar selecta.

După cum puteți vedea, a selectat numai rândul de celulă activ, adică primul rând și trei coloane. Acest lucru se datorează faptului că pentru dimensiunea rândului am furnizat celulă necompletată  și pentru dimensiunea coloanei, am furnizat 3 și, prin urmare, a selectat intervalul de date.

Acum, uitați-vă la codul de mai jos.

Cod:

 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.