Bước 1: Thực hiện một helper trong bảng nơi bạn kiểm tra bất kỳ trường trống nào trong hàng đó. Ví dụ, nếu bạn có 3 cột trong bảng của bạn: A (Giá), B (Số lượng) và C (Chi phí), bạn sẽ thêm cột D thứ tư và đặt tên là "Bất kỳ Khoảng trống" nào? Phương trình sẽ là =IF(OR(ISBLANK([@Price]),ISBLANK([@Quantity]),ISBLANK([@Cost])),"Yes","No")
Điều đó sẽ cho bạn một cột để lọc để xem tất cả các khoảng trống.
Bước 2: Trong VBA sau đó bạn sẽ làm như sau:
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
này về cơ bản được lọc để các hàng bạn muốn xóa trong bảng sử dụng cột helper, chọn tất cả các dữ liệu hiển thị trong bảng và tháo bàn. Tôi đã tìm kiếm xung quanh làm thế nào để xóa tất cả các hàng có thể nhìn thấy trong một bảng và tìm thấy điều này và fiddled xung quanh cho đến khi tôi đã tìm ra rằng điều này sẽ làm việc. Lấy nó và kết hợp nó với một cột helper để chọn tất cả các hàng với bất kỳ khoảng trắng nào có vẻ giống như những gì bạn muốn.
Nguồn
2015-05-01 17:57:43
Đây là giải pháp phù hợp với bảng, nhưng bạn nên thêm kiểm tra lỗi (như mỗi câu trả lời Brettdj) trong trường hợp không có hàng trống được tìm thấy –
sao tôi thay đổi nội dung các câu trả lời và sai thêm kiểm tra – fthiella
Điều này hoạt động hoàn hảo. Cảm ơn bạn. – user91240192094