VBA endre størrelse - Hvordan bruker du Endre størrelse på eiendom i Excel VBA? (Med eksempler)

Innholdsfortegnelse

Excel VBA endre størrelse

Endre størrelse er en egenskap tilgjengelig i VBA for å endre eller endre størrelse på celleområdet fra den aktive cellen etter behov. Anta for eksempel at du er i cellen B5, og hvis du vil velge 3 rader og to kolonner fra denne cellen, kan vi endre størrelsen på et område ved å bruke RESIZE-egenskapen til VBA.

Syntaks for VBA Resize Property

Nedenfor er syntaksen for eiendommen VBA RESIZE.

Område (). Endre størrelse ((Radstørrelse), (Kolonnestørrelse))

Først må vi levere fra hvilken celle vi trenger å endre størrelse ved å bruke Range- objektet.

Bruk deretter excel VBA Resize- egenskap, og i denne egenskapen trenger vi å angi radestørrelse og kolonnestørrelsesgrense . Basert på de angitte radnumrene og kolonnumrene, endres størrelsen på den.

Eksempler på bruk av Resize i VBA

Nedenfor er eksemplene på bruk av resize i excel VBA.

Eksempel 1

Anta at du har data fra A1 til B14-celle, og fra A1-celle, hvis du vil velge 3 rader ned og to kolonner i venstre rekkevidde, kan vi gjøre dette ved å bruke RESIZE-egenskapen i Excel VBA.

Nedenfor er dataene vi bruker for dette eksemplet.

Først må vi oppgi den første cellereferansen eller startpunktet ved å bruke RANGE-objektet. I dette eksemplet er utgangspunktet A1-cellen.

Kode:

Sub Resize_Example () Range ("A1"). Slutt Sub

Bruk RESIZE-egenskapen for dette området.

Kode:

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

Det første argumentet med RESIZE er radstørrelse, så vi må velge 3 rader med dataene og oppgi den numeriske verdien 3.

Kode:

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

Det neste argumentet er Kolonnestørrelse for dette, skriv inn hvordan kolonnene du trenger å velge. Jeg skriver inn 3 kolonner.

Kode:

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

Når størrelsen er endret, må vi levere det vi trenger å gjøre med dette området. Jeg velger bare "Velg" -metoden for å starte.

Kode:

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

Kjør koden og se hvor mange rader og hvor mange kolonner den vil velge.

Som du kan se ovenfor fra A1-cellen, har den valgt tre rader ned og tre kolonner til høyre.

Eksempel 2

Ta en titt på nedenstående VBA-kode.

I ovennevnte kode for Radstørrelse har vi levert tomme celler, og for Kolonnestørrelse har vi levert 3.

Kode:

Sub Resize_Example () Range ("A1"). Resize (0, 3). Velg End Sub

Kjør koden og se hvor mange rader og hvor mange kolonner den vil velge.

Som du kan se, har det bare velge den aktive cellen rad, dvs. en st rad og tre kolonner. Dette er fordi, for radstørrelsen, har vi levert tomme celler, og for kolonnestørrelse, har vi medfølgende 3, og følgelig har det valgt dataområdet.

Nå, se på koden nedenfor.

Kode:

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

Nå fra den første cellen endrer vi størrelsen på området fra sist brukte rad til sist brukte kolonne, og velg er metoden som brukes. Så nå spiller det ingen rolle hvor store dataene dine er. Det vil dynamisk velge data ved å finne den sist brukte raden og sist brukte kolonnen.

Ting å huske

  • Endre størrelse på eiendom i VBA vil endre størrelsen på området fra den aktive cellen (inkludert den aktive cellen også).
  • Vi trenger bare å oppgi hvor mange rader og hvor mange kolonner som skal endres fra den aktive cellen i VBA.
  • Vi kan ikke bruke negativt rad- og kolonnenummer for RESIZE-eiendom.

Interessante artikler...