VBA-størrelse | Hvordan bruges Resize Property i Excel VBA? (Med eksempler)

Excel VBA-størrelse

Resize er en egenskab tilgængelig i VBA til at ændre eller ændre størrelsen på celleområdet fra den aktive celle efter behov. Antag for eksempel, at du befinder dig i cellen B5, og fra denne celle, hvis du vil vælge 3 rækker og to kolonner, kan vi ændre størrelsen på et interval ved hjælp af RESIZE-egenskaben for VBA.

Syntaks for VBA Resize Property

Nedenfor er syntaksen for ejendommen VBA RESIZE.

Område (). Ændr størrelse ([Rækkestørrelse], [Kolonnestørrelse])

Først skal vi levere fra hvilken celle vi skal ændre størrelsen ved hjælp af Range- objektet.

Brug derefter excel VBA Resize- ejendom, og i denne egenskab skal vi angive rækkestørrelsesgrænse og kolonnestørrelsesgrænse . Baseret på de angivne rækkenumre og kolonnenummer ændres størrelsen på det.

Eksempler på brug af størrelse i VBA

Nedenfor er eksemplerne på brug af resize i excel VBA.

Du kan downloade denne VBA Resize Excel-skabelon her - VBA Resize Excel-skabelon

Eksempel nr. 1

Antag at du har data fra A1 til B14-celle og fra A1-celle, hvis du vil vælge 3 rækker ned og to kolonner i venstre rækkevidde, kan vi gøre dette ved at bruge RESIZE-egenskab i Excel VBA.

Nedenfor er de data, vi bruger til dette eksempel.

Så først skal vi levere den første cellereference eller startpunkt ved hjælp af RANGE-objektet, i dette eksempel er startpunktet A1-celle.

Kode:

Sub Resize_Example () Range ("A1"). Afslut sub

Brug RESIZE egenskab til dette interval.

Kode:

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

Det første argument for RESIZE er række størrelse, så vi skal vælge 3 rækker af dataene og angive den numeriske værdi på 3.

Kode:

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

Næste argument er Kolonnestørrelse for denne indtastning, hvordan kolonner du skal vælge, jeg vil indtaste 3 kolonner.

Kode:

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

Når størrelsen er færdig, er vi nødt til at levere, hvad vi skal gøre med dette interval. Jeg vælger bare "Vælg" -metoden for at starte.

Kode:

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

Kør koden og se, hvor mange rækker og hvor mange kolonner den ville vælge.

Som du kan se ovenfor fra A1-cellen, har den valgt tre rækker ned og tre kolonner til højre.

Eksempel 2

Se nu på nedenstående VBA-kode.

I ovenstående kode for Rækkestørrelse har vi leveret tom celle  og for Kolonnestørrelse har vi leveret 3.

Kode:

 Sub Resize_Example () Range ("A1"). Resize (0, 3). Vælg End Sub 

Kør koden og se, hvor mange rækker og hvor mange kolonner den ville vælge.

Som du kan se, har den kun valgt den aktive celle række, dvs. 1. række og tre kolonner. Dette skyldes, at for rækkeformat har vi leveret tom celle  og for kolonnestørrelse, har vi leveret 3, og derfor har den valgt dataområdet.

Se nu på nedenstående kode.

Kode:

 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.