VBA Xóa toàn bộ hàng hoặc cột

Hướng dẫn này sẽ trình bày các cách khác nhau để xóa hàng và cột trong Excel bằng VBA.

Xóa toàn bộ hàng hoặc cột

Để xóa toàn bộ một hàng trong VBA, hãy sử dụng dòng mã này:

1 Hàng (1) .Xóa

Lưu ý rằng chúng tôi sử dụng Xóa bỏ phương pháp xóa một hàng.

Thay vì tham chiếu Đối tượng hàng, bạn có thể tham chiếu các hàng dựa trên Đối tượng phạm vi với Toàn bộ hàng:

1 Phạm vi ("a1"). EntireRow.Delete

Tương tự như vậy để xóa toàn bộ cột, hãy sử dụng các dòng mã sau:

1 Các cột (1) .Xóa
1 Phạm vi ("a1"). EntireColumn.Delete

Xóa nhiều hàng hoặc cột

Sử dụng cùng một logic, bạn cũng có thể xóa nhiều hàng cùng một lúc:

1 Hàng ("1: 3"). Xóa

hoặc các cột:

1 Các cột ("A: C"). Xóa

Lưu ý ở đây, chúng tôi tham chiếu số / chữ cái hàng và cột cụ thể được bao quanh bởi dấu ngoặc kép.

Tất nhiên, bạn cũng có thể tham khảo EntireRow của một dải ô:

1 Phạm vi ("a1: a10"). EntireRow.Delete

Lưu ý: Các ví dụ dưới đây chỉ minh họa việc xóa các hàng, tuy nhiên như bạn có thể thấy ở trên, cú pháp gần như giống hệt nhau để xóa các cột.

Xóa hàng trống / hàng trống

Ví dụ này sẽ xóa một hàng nếu toàn bộ hàng trống:

1234567891011 Sub DeleteRows_EntireRowBlank ()Làm mờ ô dưới dạng phạm viĐối với mỗi ô trong phạm vi ("b2: b20")Nếu Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Thìcell.EntireRow.DeleteKết thúc nếuÔ tiếp theoKết thúc Sub

Nó sử dụng hàm trang tính Excel: COUNTA.

Xóa hàng nếu ô trống

Thao tác này sẽ xóa một hàng nếu cột cụ thể trong hàng đó trống (trong trường hợp này là cột B):

1 Phạm vi ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete

Xóa hàng dựa trên giá trị ô

Thao tác này sẽ lặp qua một phạm vi và xóa các hàng nếu một giá trị ô nhất định trong hàng đó cho biết “xóa”.

1234567891011 Sub DeleteRowswithSpecificValue ()Làm mờ ô dưới dạng phạm viĐối với mỗi ô trong phạm vi ("b2: b20")If cell.Value = "delete" Sau đócell.EntireRow.DeleteKết thúc nếuÔ tiếp theoKết thúc Sub

Thêm Ví dụ về Xóa Hàng và Cột

Xóa các hàng trùng lặp

Mã này sẽ xóa tất cả các hàng trùng lặp trong một phạm vi:

1 Phạm vi ("b2: c100"). Các cột RemoveDuplicates: = 2

Lưu ý rằng chúng tôi đặt Cột: = 2. Điều này yêu cầu VBA kiểm tra cả hai cột dữ liệu đầu tiên khi xem xét các hàng có trùng lặp hay không. Bản sao chỉ được tìm thấy khi cả hai cột có giá trị trùng lặp.

Nếu chúng tôi đã đặt giá trị này thành 1, thì chỉ hàng đầu tiên mới được kiểm tra các giá trị trùng lặp.

Xóa hàng trong bảng

Mã này sẽ xóa hàng thứ hai trong Bảng bằng cách tham chiếu đến ListObjects.

1 ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete

Xóa hàng đã lọc

Để chỉ xóa các hàng hiển thị sau khi lọc:

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

Xóa hàng trong phạm vi

Mã này sẽ xóa tất cả các hàng trong phạm vi:

1 Phạm vi ("a1: a10"). EntireRow.Delete

Xóa hàng đã chọn

Mã này sẽ xóa tất cả các hàng đã chọn:

1 Selection.EntireRow.Delete

Xóa hàng cuối cùng

Thao tác này sẽ xóa hàng được sử dụng cuối cùng trong cột B:

1 Các ô (Rows.Count, 2) .End (xlUp) .EntireRow.Delete

Bằng cách thay đổi 2 thành 1, bạn có thể xóa hàng được sử dụng cuối cùng trong cột A, v.v.:

1 Các ô (Rows.Count, 1) .End (xlUp) .EntireRow.Delete

Xóa các cột theo số

Để xóa một cột theo số của nó, hãy sử dụng mã như sau:

1 Các cột (2) .Xóa

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave