VBA Resize - Jak korzystać z właściwości zmiany rozmiaru w Excel VBA? (Z przykładami)

Spisie treści

Excel VBA Resize

Zmień rozmiar to właściwość dostępna w VBA, która umożliwia zmianę lub zmianę rozmiaru zakresu komórek z aktywnej komórki w razie potrzeby. Na przykład załóżmy, że znajdujesz się w komórce B5 iz tej komórki, jeśli chcesz wybrać 3 wiersze i dwie kolumny, możemy zmienić rozmiar zakresu za pomocą właściwości RESIZE języka VBA.

Składnia właściwości zmiany rozmiaru VBA

Poniżej znajduje się składnia właściwości VBA RESIZE.

Zakres (). Zmień rozmiar ((Rozmiar wiersza), (Rozmiar kolumny))

Najpierw musimy określić komórkę, z której musimy zmienić rozmiar, używając obiektu Range .

Następnie użyj właściwości Resize VBA programu Excel iw tej właściwości musimy podać limit rozmiaru wiersza i limit rozmiaru kolumny . Na podstawie podanych numerów wierszy i kolumn zmieni rozmiar.

Przykłady użycia Resize w VBA

Poniżej znajdują się przykłady użycia zmiany rozmiaru w programie Excel VBA.

Przykład 1

Załóżmy, że masz dane z komórki A1 do B14 iz komórki A1, jeśli chcesz wybrać 3 wiersze w dół i dwie kolumny w lewym zakresie, możemy to zrobić za pomocą właściwości RESIZE w Excel VBA.

Poniżej znajdują się dane, których używamy w tym przykładzie.

Najpierw musimy podać pierwsze odwołanie do komórki lub punkt początkowy przy użyciu obiektu RANGE. W tym przykładzie punktem początkowym jest komórka A1.

Kod:

Sub Resize_Example () Range („A1”). Napis końcowy

W przypadku tego zakresu użyj właściwości RESIZE.

Kod:

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

Pierwszym argumentem RESIZE jest Row Size, więc musimy wybrać 3 wiersze danych i podać wartość liczbową 3.

Kod:

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

Następnym argumentem jest rozmiar kolumny , wprowadź, jak kolumny chcesz wybrać. Wprowadzę 3 kolumny.

Kod:

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

Po zmianie rozmiaru musimy podać, co musimy zrobić z tym zakresem. Po prostu wybiorę metodę „Wybierz”, aby rozpocząć.

Kod:

Sub Resize_Example () Range („A1”). Resize (3, 3). Select End Sub

Uruchom kod i zobacz, ile wierszy i ile kolumn by wybrał.

Jak widać powyżej z komórki A1, wybrano trzy wiersze w dół i trzy kolumny po prawej stronie.

Przykład nr 2

Teraz spójrz na poniższy kod VBA.

W powyższym kodzie dla rozmiaru wiersza dostarczyliśmy puste komórki, a dla rozmiaru kolumny dostarczyliśmy 3.

Kod:

Sub Resize_Example () Range („A1”). Resize (0, 3). Select End Sub

Uruchom kod i zobacz, ile wierszy i ile kolumn by wybrał.

Jak widać, wybrano tylko aktywny wiersz komórki, tj. Pierwszy wiersz i trzy kolumny. Dzieje się tak, ponieważ dla rozmiaru wiersza dostarczyliśmy puste komórki, a dla rozmiaru kolumny dostarczyliśmy 3 i odpowiednio wybrał zakres danych.

Teraz spójrz na poniższy kod.

Kod:

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

Teraz od pierwszej komórki zmieniamy rozmiar zakresu od ostatnio używanego wiersza do ostatnio używanej kolumny i wybierz używaną metodę. Więc teraz nie ma znaczenia, jak duże są twoje dane. Dynamicznie wybierze dane, znajdując ostatnio używany wiersz i ostatnio używaną kolumnę.

Rzeczy do zapamiętania

  • Właściwość Resize w języku VBA zmieni rozmiar zakresu z aktywnej komórki (w tym również aktywnej komórki).
  • Musimy tylko podać, ile wierszy i ile kolumn ma zostać zmienionych z aktywnej komórki w VBA.
  • Nie możemy użyć ujemnego numeru wiersza i kolumny dla właściwości RESIZE.

Interesujące artykuły...