VBA Usuń cały wiersz lub kolumnę

Ten samouczek zademonstruje różne sposoby usuwania wierszy i kolumn w programie Excel za pomocą VBA.

Usuń cały wiersz lub kolumnę

Aby usunąć cały wiersz w VBA, użyj tego wiersza kodu:

1 Wiersze(1).Usuń

Zauważ, że używamy Kasować metoda usunięcia wiersza.

Zamiast odwoływać się do Obiekt wierszy, możesz odwoływać się do wierszy na podstawie ich Obiekt zakresu z Cały rząd:

1 Zakres("a1").EntireRow.Delete

Podobnie, aby usunąć całą kolumnę, użyj tych wierszy kodu:

1 Kolumny(1).Usuń
1 Zakres("a1").EntireColumn.Delete

Usuń wiele wierszy lub kolumn

Korzystając z tej samej logiki, możesz również usunąć wiele wierszy jednocześnie:

1 Wiersze("1:3").Usuń

lub kolumny:

1 Kolumny("A:C").Usuń

Zauważ, że tutaj odwołujemy się do określonych numerów / liter wierszy i kolumn otoczonych cytatami.

Oczywiście możesz również odwoływać się do całego wiersza zakresu:

1 Zakres("a1:a10").EntireRow.Delete

Uwaga: poniższe przykłady pokazują tylko usuwanie wierszy, jednak jak widać powyżej, składnia jest praktycznie identyczna z usuwaniem kolumn.

Usuń puste/puste wiersze

Ten przykład usunie wiersz, jeśli cały wiersz jest pusty:

1234567891011 Sub UsuńRows_EntireRowBlank()Przyciemnij komórkę jako zakresDla każdej komórki w zakresie("b2:b20")Jeśli Application.WorksheetFunction.CountA(cell.EntireRow) = 0 Wtedycell.EntireRow.DeleteZakończ, jeśliNastępna komórkaNapis końcowy

Wykorzystuje funkcję arkusza Excel: ILE.NIEPUSTYCH.

Usuń wiersz, jeśli komórka jest pusta

Spowoduje to usunięcie wiersza, jeśli określona kolumna w tym wierszu jest pusta (w tym przypadku kolumna B):

1 Range("b3:b20").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Usuń wiersz na podstawie wartości komórki

Spowoduje to przejście przez zakres i usunięcie wierszy, jeśli określona wartość komórki w tym wierszu mówi „usuń”.

1234567891011 Sub UsuńRowswithSpecificValue()Przyciemnij komórkę jako zakresDla każdej komórki w zakresie("b2:b20")Jeśli cell.Value = "usuń" Wtedycell.EntireRow.DeleteZakończ, jeśliNastępna komórkaNapis końcowy

Więcej przykładów usuwania wierszy i kolumn

Usuń zduplikowane wiersze

Ten kod usunie wszystkie zduplikowane wiersze w zakresie:

1 Zakres("b2:c100").RemoveDuplicates Columns:=2

Zauważ, że ustawiliśmy Kolumny:=2. To mówi VBA, aby sprawdził obie pierwsze kolumny danych podczas rozważania, czy wiersze są duplikatami. Duplikat można znaleźć tylko wtedy, gdy obie kolumny mają zduplikowane wartości.

Gdybyśmy ustawili to na 1, tylko pierwszy wiersz zostałby sprawdzony pod kątem zduplikowanych wartości.

Usuń wiersze tabeli

Ten kod usunie drugi wiersz w tabeli, odwołując się do ListObjects.

1 ThisWorkbook.Sheets("Arkusz1").ListObjects("lista1").ListRows(2).Delete

Usuń filtrowane wiersze

Aby usunąć tylko wiersze, które są widoczne po przefiltrowaniu:

1 Range("b3:b20").SpecialCells(xlCellTypeVisible).EntireRow.Delete

Usuń wiersze w zakresie

Ten kod usunie wszystkie wiersze w zakresie:

1 Zakres("a1:a10").EntireRow.Delete

Usuń wybrane wiersze

Ten kod usunie wszystkie wybrane wiersze:

1 Zaznaczenie.Cały wiersz.Usuń

Usuń ostatni wiersz

Spowoduje to usunięcie ostatniego używanego wiersza w kolumnie B:

1 Komórki(Rows.Count, 2).End(xlUp).EntireRow.Delete

Zmieniając 2 na 1, możesz usunąć ostatnio używany wiersz w kolumnie A itd.:

1 Komórki(Rows.Count, 1).End(xlUp).EntireRow.Delete

Usuń kolumny według numeru

Aby usunąć kolumnę według jej numeru, użyj kodu takiego:

1 Kolumny (2).Usuń

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave