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

Indholdsfortegnelse

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 egenskaben RESIZE 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 levere rækkestørrelsesgrænse og kolonnestørrelsesgrænse . Baseret på de angivne række- og kolonnumre ændres størrelsen på den.

Eksempler på brug af Resize i VBA

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

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 egenskaben RESIZE i Excel VBA.

Nedenfor er de data, vi bruger til dette eksempel.

Først skal vi levere den første cellehenvisning eller startpunkt ved hjælp af RANGE-objektet. I dette eksempel er udgangspunktet A1-cellen.

Kode:

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

Brug RESIZE-egenskaben til dette interval.

Kode:

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

Det første argument for RESIZE er Row Size, 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

Det næste argument er Kolonnestørrelse til dette, indtast, 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 ændret, 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ækkeformat har vi leveret tomme celler, 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 det kun vælge den aktive celle rækken, dvs. 1 st række og tre kolonner. Dette skyldes, at vi for rækkeformat har leveret tomme celler, og for kolonnestørrelse har vi leveret 3, og derfor har det valgt dataområdet.

Se nu på nedenstående kode.

Kode:

Sub Resize_Example () Range ("A1") Resize (3). Vælg 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 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

Nu fra den første celle ændrer vi størrelsen på området fra den sidst anvendte række til den sidst anvendte kolonne, og vælg er den anvendte metode. Så nu betyder det ikke noget, hvor store dine data er. Det vil dynamisk vælge dataene ved at finde den sidst anvendte række og sidst anvendte kolonne.

Ting at huske

  • Resize-egenskab i VBA ændrer størrelsen på området fra den aktive celle (også den aktive celle).
  • Vi skal bare angive, hvor mange rækker og hvor mange kolonner der skal ændres fra den aktive celle i VBA.
  • Vi kan ikke bruge negativ række & kolonne til RESIZE-ejendom.

Interessante artikler...