VBA Resize

Excel VBA Resize

Zmień rozmiar to właściwość dostępna w języku VBA umożliwiająca zmianę lub zmianę rozmiaru zakresu komórek z aktywnej komórki w razie potrzeby. Na przykład załóżmy, że jesteś 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 w 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 numeru kolumny zmieni jego rozmiar.

Przykłady użycia Resize w VBA

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

Możesz pobrać ten szablon VBA Resize Excel tutaj - VBA Resize Excel Template

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.

Więc najpierw musimy podać pierwsze odwołanie do komórki lub punkt początkowy za pomocą obiektu RANGE, w tym przykładzie punktem początkowym jest komórka A1.

Kod:

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

Dla 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ępny argument to Rozmiar kolumny, aby wprowadzić, jak kolumny chcesz wybrać, wprowadzę 3 kolumny.

Kod:

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

Po zakończeniu zmiany 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, w komórce A1 zaznaczono 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 rozmiaru wiersza dostarczyliśmy pustą komórkę,  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 pustą komórkę,  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 

Ten kod spowoduje, że wybierze tylko trzy wiersze, w tym wiersz aktywnej komórki, ale bez dodatkowych kolumn.

Przykład nr 3

Użyj opcji Zmień rozmiar, aby wybrać nieznane zakresy. Zmiana rozmiaru najlepiej sprawdza się, gdy chcesz zaznaczyć nieznany zakres komórek. Na przykład spójrz na poniższy obraz zakresu danych.

Zawiera dane na wszystkich drogach od kolumny A do kolumny P, a pod względem wierszy mamy aż do 700 wiersza.

Załóżmy, że wiesz, że Twoje dane będą się zmieniać i chcesz od czasu do czasu wybierać zakres danych, ręcznie zmieniając numer wiersza i kolumny. Jednak używając właściwości VBA RESIZE możemy to łatwo zrobić.

Spójrz na poniższy kod.

Kod:

 Sub Resize_Example1 () Dim LR As Long Dim LC As Long Worksheets ("Sales Data"). Wybierz 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 

Najpierw zadeklarowałem dwie zmienne, aby znaleźć ostatnio używany wiersz (LR) i ostatnio używaną kolumnę (LC).

 Dim LR As Long Dim LC As Long 

Ponieważ nasze dane znajdują się w arkuszu o nazwie „Dane sprzedaży”, wybieramy ten arkusz za pomocą poniższego kodu.

Arkusze robocze („Dane sprzedaży”) Wybierz

Teraz poniższy kod znajdzie ostatnio używany wiersz i ostatnio używaną kolumnę.

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.