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 fra denne cellen hvis du vil velge 3 rader og to kolonner, 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 må vi angi radestørrelse og kolonnestørrelse . Basert på de angitte radnumrene og kolonnenummeret, endres størrelsen på den.
Eksempler på bruk av Resize i VBA
Nedenfor er eksemplene på bruk av resize i excel VBA.
Du kan laste ned denne VBA Resize Excel-malen her - VBA Resize Excel Template
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.
Så først må vi levere den første cellereferansen eller startpunktet ved å bruke RANGE-objektet, i dette eksemplet er startpunktet A1-celle.
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
Neste argument er Kolonnestørrelse for dette angi hvordan kolonner du trenger å velge, jeg vil skrive 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å VBA-koden nedenfor.
I ovennevnte kode for Radstørrelse har vi levert tom celle 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 den bare valgt den aktive cellelinjen, dvs. første rad og tre kolonner. Dette er fordi for radstørrelse har vi levert tom celle og for kolonnestørrelse har vi levert 3, og følgelig har den valgt dataområdet.
Nå, se på koden nedenfor.
Kode:
Sub Resize_Example () Range ("A1"). Resize (3). Velg End Sub
Hva denne koden vil gjøre er at den bare velger tre rader inkludert den aktive cellelinjen, men ingen ekstra kolonner.
Eksempel 3
Bruk Endre størrelse for å velge ukjente områder. Endre størrelse brukes best når du vil velge et ukjent celleområde. Se for eksempel på bildet nedenfor av dataområdet.
Den har data hele veien fra kolonne A til kolonne P og radmessig har vi frem til 700. rad.
Anta at du vet at dataene dine vil fortsette å endres, og at du vil velge dataområdet nå og da ved å endre rad- og kolonnenummeret manuelt. Ved å bruke VBA RESIZE-egenskapen kan vi imidlertid gjøre dette enkelt.
Se på koden nedenfor.
Kode:
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.