VBA Keisti dydį - Kaip naudoti „Resize Property“ „Excel VBA“? (Su pavyzdžiais)

„Excel VBA“ dydžio keitimas

Keisti dydį yra VBA turima ypatybė, pagal kurią reikia pakeisti arba pakeisti aktyvios ląstelės langelių diapazoną. Pvz., Tarkime, kad esate langelyje B5, ir iš šios langelio, jei norite pasirinkti 3 eilutes ir du stulpelius, mes galime pakeisti diapazono dydį naudodami VBA ypatybę RESIZE.

VBA Resize Property nuosavybės sintaksė

Žemiau yra VBA RESIZE ypatybės sintaksė.

Diapazonas (). Keisti dydį ((Eilutės dydis), (Stulpelio dydis))

Pirmiausia, mes turime pateikti iš kurios ląstelės turime pakeisti dydį, naudodami objektą „ Range“ .

Tada naudokite „Excel VBA Resize“ ypatybę ir šioje ypatybėje turime pateikti eilutės dydžio ir stulpelio dydžio apribojimus. Remiantis pateiktais eilučių ir stulpelių numeriais, jis pakeis jo dydį.

„Resize“ naudojimo VBA pavyzdžiai

Žemiau pateikiami „resize“ naudojimo pavyzdžiai naudojant „Excel VBA“.

1 pavyzdys

Tarkime, kad turite duomenų nuo A1 iki B14 langelio ir iš A1 langelio, jei norite pasirinkti 3 eilutes žemyn ir du stulpelius kairėje srityje, tai galime padaryti naudodami ypatybę RESIZE „Excel VBA“.

Toliau pateikiami duomenys, kuriuos naudojame šiame pavyzdyje.

Pirma, mes turime pateikti pirmąją langelio nuorodą arba pradinį tašką naudodami objektą RANGE. Šiame pavyzdyje pradinis taškas yra langelis A1.

Kodas:

Sub Resize_Example () diapazonas ("A1"). Pabaigos sub

Šiam diapazonui naudokite nuosavybę RESIZE.

Kodas:

Sub Resize_Example () Range ("A1"). Pakeiskite dydį (End Sub

Pirmasis „RESIZE“ argumentas yra „ Eilučių dydis“, todėl turime pasirinkti 3 duomenų eilutes ir pateikti skaitinę 3 reikšmę.

Kodas:

Sub Resize_Example () Range ("A1"). Keisti dydį (3, End Sub

Kitas argumentas yra stulpelio dydis , įveskite, kaip reikia pasirinkti stulpelius. Įvesiu 3 stulpelius.

Kodas:

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

Atlikę dydžio keitimą, turime pateikti tai, ką turime daryti su šiuo diapazonu. Aš tiesiog pasirinksiu „Pasirinkti“ metodą, kad galėčiau pradėti.

Kodas:

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

Paleiskite kodą ir sužinokite, kiek eilučių ir kiek stulpelių jis pasirinktų.

Kaip matote aukščiau iš langelio A1, jis pasirinko tris eilutes žemyn ir tris stulpelius dešinėje.

2 pavyzdys

Dabar pažvelkite į žemiau esantį VBA kodą.

Pirmiau kodą Row dydis, mes turime pateikti tuščių langelių, ir skiltis dydis, mes turime pateikti 3.

Kodas:

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

Paleiskite kodą ir sužinokite, kiek eilučių ir kiek stulpelių jis pasirinktų.

Kaip matote, ji pasirinkti tik aktyvų ląstelių eilutę, ty, 1 st eilutę ir tris stulpelius. Taip yra todėl, kad eilutės dydžiui pateikėme tuščius langelius, o stulpelių dydžiui - 3 ir atitinkamai pasirinkome duomenų diapazoną.

Dabar pažvelkite į žemiau pateiktą kodą.

Kodas:

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

Dabar nuo pirmojo langelio keičiame diapazono dydį nuo paskutinės naudotos eilutės iki paskutinio panaudoto stulpelio ir pasirinkite naudojamą metodą. Taigi dabar nesvarbu, kokie dideli jūsų duomenys. Jis dinamiškai parinks duomenis, surasdamas paskutinę naudojamą eilutę ir paskutinį panaudotą stulpelį.

Ką reikia atsiminti

  • VBA savybės dydžio keitimas pakeis aktyvios ląstelės (įskaitant ir aktyvią ląstelę) diapazono dydį.
  • Mes tiesiog turime pateikti, kiek eilučių ir kiek stulpelių reikia keisti iš aktyvios VBA langelio.
  • Negalime naudoti neigiamos eilutės ir stulpelio numerio nuosavybei RESIZE.

Įdomios straipsniai...