Ten samouczek pokaże, jak używać VBA do wstawiania wierszy i kolumn w programie Excel.
Aby wstawić wiersze lub kolumny użyjemy Metoda wstawiania.
Wstaw pojedynczy wiersz lub kolumnę
Wstaw nowy wiersz
Aby wstawić pojedynczy wiersz, możesz użyć obiektu Rows:
1 | Wiersze(4).Wstaw |
Lub możesz użyć obiektu zakresu wraz z całym wierszem:
1 | Zakres("b4").EntireRow.Insert |
Wstaw nową kolumnę
Podobnie jak w przypadku wstawiania wierszy, możemy użyć obiektu Columns, aby wstawić kolumnę:
1 | Kolumny(4).Wstaw |
Lub obiekt zakresu wraz z EntireColumn:
1 | Zakres("b4").Cała kolumna.Wstaw |
Wstaw wiele wierszy lub kolumn
Wstaw wiele wierszy
Przy wstawianiu wielu wierszy za pomocą obiektu Rows należy wprowadzić wiersze w cudzysłowie:
1 | Wiersze("4:6").Wstaw |
Wstawianie wielu wierszy z Obiektem zakresu działa tak samo, jak w przypadku pojedynczego wiersza:
1 | Zakres("b4:b6").Cały wiersz.Wstaw |
Wstaw wiele kolumn
Wstawiając wiele kolumn z obiektem Kolumny, wprowadź kolumnę listy w cytatach:
1 | Kolumny("B:D").Wstaw |
Wstawianie wielu kolumn z Obiektem zakresu działa tak samo, jak w przypadku pojedynczej kolumny:
1 | Zakres("b4:d4").Cała kolumna.Wstaw |
Wstaw - Shift & CopyOrigin
ten Metoda wstawiania ma dwa opcjonalne argumenty:
- Zmiana - W jakim kierunku przesunąć komórki
- KopiujPochodzenie - Jakie formatowanie komórek do skopiowania (powyżej, poniżej, po lewej lub po prawej)
Argument Shift nie ma znaczenia przy wstawianiu całych wierszy lub kolumn. Pozwala tylko wskazać przesunięcie w dół lub przesunięcie w prawo:
- xlShiftDown - Przesuń komórki w dół
- xlShiftToRight - Przesuń komórki w prawo
Jak widzisz, nie możesz przesunąć się w górę ani w prawo.
ten KopiujPochodzenie argument ma dwa potencjalne wejścia:
- xlFormatOd lewej do góry - (0) Nowo wstawione komórki przyjmują formatowanie z komórek powyżej lub po lewej stronie
- xlFormatOd prawej lub poniżej (1) Nowo wstawione komórki pobierają formatowanie z komórek poniżej lub po prawej stronie.
Spójrzmy na kilka przykładów KopiujPochodzenie argument. Oto nasze wstępne dane:
Ten przykład wstawi wiersz, pobierając formatowanie z powyższego wiersza.
1 | Rows(5).Insert , xlFormatFromLeftOrAbove |
Ten przykład wstawi wiersz, pobierając formatowanie z wiersza poniżej.
1 | Rows(5).Insert , xlFormatFromRightOrBelow |
Inne przykłady wkładek
Wstaw skopiowane wiersze lub kolumny
Jeśli chcesz wstawić skopiowany wiersz, użyj takiego kodu:
12 | Zakres ("1:1").KopiujZakres("5:5").Wstaw |
Tutaj kopiujemy wiersz 1 i wstawiamy go w wierszu 5.
Wstaw wiersze na podstawie wartości komórki
Spowoduje to przejście przez zakres, wstawiając wiersze na podstawie wartości komórek:
1234567891011 | Sub InsertRowswithSpecificValue()Przyciemnij komórkę jako zakresDla każdej komórki w zakresie("b2:b20")If cell.Value = "insert" Thencell.EntireRow.InsertZakończ, jeśliNastępna komórkaNapis końcowy |
Usuń wiersze lub kolumny
Aby usunąć wiersze lub kolumny, po prostu użyj Kasować metoda.
1234567 | Wiersze(1).UsuńZakres("a1").EntireRow.DeleteKolumny(1).UsuńZakres("a1").EntireColumn.Delete |