Krok 1: Sprawdź, pomocnika kolumna w tabeli, w której zaznaczono puste pola w tym wierszu. Na przykład, jeśli w tabeli były 3 kolumny: A (Cena), B (Ilość) i C (Koszt), należałoby dodać czwartą kolumnę D i oznaczyć ją jako "Dowolne blanki?". Równanie to: =IF(OR(ISBLANK([@Price]),ISBLANK([@Quantity]),ISBLANK([@Cost])),"Yes","No")
To da ci kolumnę do filtrowania, aby wyświetlić wszystkie puste pola.
Krok 2: W VBA byś następnie wykonaj następujące czynności:
Range("MyTableNameHere").AutoFilter Field:=Range("MyTableNameHere[Any Blanks?]").Column, Criteria1:="Yes"
Application.DisplayAlerts = False
Range("MyTableNameHere").ListObject.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
Range("MyTableNameHere").AutoFilter Field:=Range("MyTableNameHere[Any Blanks?]").Column
To w istocie jest filtrowany do wierszy, które chcesz usunąć z tabeli stosując kolumnę pomocnika, wybraniu wszystkich widocznych danych w tabeli i odfiltrowanie stołu. Szukałem, jak usunąć wszystkie widoczne wiersze w tabeli i znalazłem to i błądziłem, dopóki nie zorientowałem się, że to zadziała. Biorąc to i łącząc go z kolumną pomocnika, aby wybrać wszystkie wiersze z dowolnymi pustymi miejscami, wydaje się, że również tego chcesz.
Jest to dobre rozwiązanie dla tabel, ale trzeba dodać sprawdzanie błędów (jak za odpowiedź Brettdj użytkownika) w przypadku nie puste wiersze znajdują –
porządku edytowany odpowiedź i dodał błąd sprawdzenie – fthiella
To działało idealnie. Dziękuję Ci. – user91240192094