VBA – zaznaczanie (i praca z) całymi wierszami i kolumnami – Automatyzacja Excela
W tym poradniku pokażemy, jak zaznaczać i pracować z całymi wierszami lub kolumnami w VBA.
Najpierw zajmiemy się zaznaczaniem całych wierszy i kolumn, a następnie zademonstrujemy, jak manipulować wierszami i kolumnami.
Wybieranie całych wierszy lub kolumn
Wybieranie pojedynczego wiersza
Możesz wybrać cały wiersz za pomocą obiektu Rows w ten sposób:
Rows(5).Select
Możesz też użyć EntireRow wraz z obiektami Range lub Cells:
Range("B5").EntireRow.Select
lub
Cells(5,1).EntireRow.Select
Możesz również użyć obiektu Range, aby odwołać się konkretnie do Wiersza:
Range("5:5").Select
Wybierz pojedynczą kolumnę
Zamiast obiektu Rows, użyj obiektu Columns, aby wybrać kolumny. Tutaj możesz odwołać się do kolumny o numerze 3:
Columns(3).Select
lub litery „C”, otoczonej cudzysłowem:
Columns("C").Select
Zamiast EntireRow, użyj EntireColumn wraz z obiektami Range lub Cells, aby wybrać całe kolumny:
Range("C5").EntireColumn.Select
lub
Cells(5,3).EntireColumn.Select
Możesz również użyć obiektu Range, aby odnieść się konkretnie do kolumny:
Range("B:B").Select
Wybieranie wielu wierszy lub kolumn
Wybieranie wielu wierszy lub kolumn działa dokładnie tak samo, gdy używamy EntireRow lub EntireColumn:
Range("B5:D10").EntireRow.Select
lub
Range("B5:B10").EntireColumn.Select
Jednakże, gdy używasz obiektów Rows lub Columns, musisz podać numery wierszy lub litery kolumn w cudzysłowie:
Rows("1:3").Select
lub
Columns("B:C").Select
Wybierz wiersz lub kolumnę ActiveCell
Aby wybrać wiersz lub kolumnę ActiveCell, możesz użyć jednej z tych linii kodu:
ActiveCell.EntireRow.Select
lub
ActiveCell.EntireColumn.Select
Wybierz Wiersze i Kolumny na innych arkuszach
Aby wybrać Wiersze lub Kolumny na innych arkuszach, musisz najpierw wybrać arkusz.
Sheets("Sheet2").SelectRows(3).Select
To samo dotyczy zaznaczania wierszy lub kolumn w innych skoroszytach.
Workbooks("Book6.xlsm").ActivateSheets("Sheet2").SelectRows(3).Select
Uwaga: Należy aktywować żądany skoroszyt. W przeciwieństwie do obiektu Sheets, obiekt Workbook nie posiada metody Select.
Czy zaznaczanie wierszy i kolumn jest konieczne?
Jednakże (prawie?) nigdy nie jest konieczne zaznaczanie wierszy lub kolumn. Nie musisz zaznaczać wiersza lub kolumny, aby wejść z nimi w interakcję. Zamiast tego, możesz zastosować metody lub właściwości bezpośrednio do wierszy lub kolumn. Następnych kilka sekcji zademonstruje różne metody i właściwości, które mogą być zastosowane.
Możesz użyć każdej metody wymienionej powyżej, aby odnieść się do wierszy lub kolumn.
Metody i właściwości wierszy & Kolumny
Usuwanie całych wierszy lub kolumn
Aby usunąć wiersze lub kolumny, użyj metody Usuń:
Rows("1:4").Delete
lub:
Columns("A:D").Delete
Wstawianie wierszy lub kolumn
Aby wstawić wiersze lub kolumny, użyj metody wstawiania:
Rows("1:4").Insert
lub:
Columns("A:D").Insert
Kopiuj & Wklej całe wiersze lub kolumny
Wklej do istniejącego wiersza lub kolumny
.
Podczas kopiowania i wklejania całych wierszy lub kolumn musisz zdecydować, czy chcesz wkleić dane nad istniejącym wierszem / kolumną, czy chcesz wstawić nowy wiersz / kolumnę, aby wkleić dane.
Pierwsze przykłady skopiują i wkleją dane nad istniejącym wierszem lub kolumną:
Range("1:1").Copy Range("5:5")
lub
Range("C:C").Copy Range("E:E")
Insert & Wklej
Kolejne przykłady wkleją dane do nowo wstawionego wiersza lub kolumny.
To spowoduje skopiowanie wiersza 1 i wstawienie go do wiersza 5, przesuwając istniejące wiersze w dół:
Range("1:1").CopyRange("5:5").Insert
To spowoduje skopiowanie kolumny C i wstawienie jej do kolumny E, przesuwając istniejące kolumny w prawo:
Range("C:C").CopyRange("E:E").Insert
Ukryj / Ukryj wiersze i kolumny
Aby ukryć wiersze lub kolumny ustaw ich właściwość Ukryte na True. Użyj False aby ukryć wiersze lub kolumny:
'Hide RowsRows("2:3").EntireRow.Hidden = True'Unhide RowsRows("2:3").EntireRow.Hidden = False
lub
'Hide ColumnsColumns("B:C").EntireColumn.Hidden = True'Unhide ColumnsColumns("B:C").EntireColumn.Hidden = False
Group / UnGroup Rows and Columns
Jeśli chcesz zgrupować wiersze (lub kolumny) użyj kodu jak poniżej:
'Group RowsRows("3:5").Group'Group ColumnsColumns("C:D").Group
Aby usunąć grupowanie użyj tego kodu:
'Ungroup RowsRows("3:5").Ungroup'Ungroup ColumnsColumns("C:D").Ungroup
To spowoduje rozwinięcie wszystkich „zgrupowanych” poziomów konspektu:
ActiveSheet.Outline.ShowLevels RowLevels:=8, ColumnLevels:=8
a to spowoduje zwinięcie wszystkich poziomów konspektu:
ActiveSheet.Outline.ShowLevels RowLevels:=1, ColumnLevels:=1
Set Row Height or Column Width
Aby ustawić szerokość kolumny użyj tej linii kodu:
Columns("A:E").ColumnWidth = 30
Aby ustawić wysokość wiersza użyj tej linii kodu:
Rows("1:1").RowHeight = 30
Autofit Row Height / Column Width
Aby Autofit a column:
Columns("A:B").Autofit
Autofit a row:
Rows("1:2").Autofit
Wiersze i kolumny na innych arkuszach lub skoroszytach
Aby wejść w interakcję z wierszami i kolumnami na innych arkuszach, należy zdefiniować obiekt Sheets:
Sheets("Sheet2").Rows(3).Insert
Podobnie, aby współdziałać z wierszami i kolumnami w innych skoroszytach, musisz również zdefiniować obiekt Workbook:
Workbooks("book1.xlsm").Sheets("Sheet2").Rows(3).Insert
Uzyskaj aktywny wiersz lub kolumnę
Aby uzyskać aktywny wiersz lub kolumnę, możesz użyć właściwości Wiersz i Kolumna obiektu ActiveCell.
MsgBox ActiveCell.Row
lub
MsgBox ActiveCell.Column
To działa również z obiektem Range:
MsgBox Range("B3").Column