Zmień rozmiar za pomocą VBA
Ten samouczek pokaże, jak korzystać z Zmień rozmiar właściwości z Obiekt zakresu zmienić, aby zwrócić nowy zakres o zmienionym rozmiarze z oryginalnego obiektu Range.
Składnia
Składnia właściwości Resize to:
1 | Range("A1").Resize (RowSize, ColumnSize) |
Gdzie Zakres („A1”) to Twój zakres początkowy.
RowSize i ColumnSize muszą być większe od zera. Każde dane wejściowe są opcjonalne (np. możesz pominąć RowSize, aby zmienić tylko liczbę kolumn lub odwrotnie).
Zmień rozmiar liczby wierszy i kolumn
Poniższy przykład rozszerza zakres o jedną komórkę A1 do zakresu A1:D10, zwiększając liczbę wierszy do 10 i liczbę kolumn do 5.
1 | Zakres("A1").Zmień rozmiar(10, 5).Wybierz |
Lub, częściej, przypiszesz zmieniony zakres do zmiennej:
12 | ' Zmień rozmiar zakresu do pożądanego rozmiaru i przypisz do zmiennejSet newRng = ActiveSheet.Range("A1").Resize(10, 5) |
Zmień rozmiar tylko liczby rzędów
Poniższy przykład zmienia tylko liczbę wierszy:
12 | ' Zmień tylko rozmiar wiersza, nowy zakres będzie wynosił $A$1:$A$10Ustaw nowyRng = rng.Resize(10) |
Zmień rozmiar tylko liczby kolumn
Poniższy przykład zmienia tylko liczbę kolumn:
12 | ' Zmień tylko rozmiar kolumny, nowy zakres będzie wynosił $A$1:$E$1Ustaw nowyRng = rng.Resize(, 5) |
Zmień rozmiar zakresu tabeli, aby wykluczyć nagłówek
Jeśli masz tabelę w aktywnym arkuszu z wierszem nagłówka, kod najpierw wybierze całą tabelę, a następnie przesunie się o jeden wiersz w dół, aby wykluczyć nagłówek za pomocą metody Range.Offset. Następnie użyje właściwości Range.Resize, aby zmniejszyć rozmiar o jeden wiersz.
1234567891011 | Sub SelectTableData()' **WAŻNY**' Kliknij dowolną komórkę tabeli przed uruchomieniem makra' Przejdź o jeden wiersz w dół, używając opcji Przesunięcie, a następnie zmniejsz rozmiar zakresu o jeden wierszUstaw tbl = ActiveCell.CurrentRegion.Offset(1, 0).Resize(tbl.Rows.Count - 1, _tabl.Kolumny.Liczba)' Dane są wybrane z wyłączeniem wiersza nagłówkatab.Adres.WybierzNapis końcowy |
Zapisz tablicę 2-D do zakresu
Innym powszechnym zastosowaniem jest zapisanie dwuwymiarowej tablicy na arkuszu. Ponieważ zakres do zapisania powinien odpowiadać rozmiarowi tablicy, który zwykle nie jest znany z góry, do ustawienia zakresu wyjściowego używana jest metoda Resize
Poniższy przykład odczyta dane z zakresu A1:E10 w aktywnym arkuszu do tablicy i zapisze tablicę do arkusza „Wyjście”, zaczynając od komórki A1:
123456 | Sub WriteArray()' Odczytaj dane do tablicydane = Zakres("A1:E10").Wartość' Zmień rozmiar zakresu wyjściowego i zapisz tablicęWorksheets("Output").Range("A1").Resize(UBound(data, 1), UBound(data, 2)).Value = dataNapis końcowy |
Autor: Vinamra Chandra