Hướng dẫn cách xóa nhiều dòng nhanh trong bảng tính Excel với VBA

Trong quá trình “vật lộn” với các bảng tính Excel của mình, có thể bạn đã gặp phải trường hợp cần xóa rất nhiều dòng trong Excel nếu dòng đó thỏa mãn 1 điều kiện nhất định.

Ví dụ:

  • Xóa những dòng mà cột C có đánh dấu “x”
  • Xóa những dòng mà Cột B có giá trị nhỏ hơn 0.1

Có thể, bạn có biết 1 chút VBA, và nghĩ ra một kế hoạch tuyệt vời là sẽ sử dụng vòng lặp trong VBA để giải quyết vấn đề xóa dòng này 1 cách nhanh chóng và tự động. Không cần nhiều cố gắng, bạn tự viết được 1 đoạn code tương tự như sau

Sau khi bấm nút cho code chạy, bạn thư thái rủ đồng nghiệp nghỉ 10 phút làm cốc Cafe.

10 phút sau, bạn quay về bàn làm việc với phong thái tự tin là công việc của mình đã được tự động hoàn thành. Tới nơi, đoạn code bạn chạy vẫn đang làm cho Excel quay đều quay đều. Và đó là lý do bạn đang đọc bài viết này.

Chuẩn bị dữ liệu để test việc xóa nhiều dòng

Dữ liệu để test việc xóa dòng của chúng ta nằm trong cột A của Sheet1 vùng A1:A40000, là các giá trị trong khoảng 0 tới 1 được tạo ra bằng hàm mảng động mới trong Excel RandArray Ở đây, chúng ta sẽ đi xóa những dòng mà cột A có giá trị nhỏ hơn 0,1. Có khoảng 4000 dòng như vậy

cach-xoa-nhanh-nhieu-dong-theo-dieu-kien-trong-excel-001

Với đoạn code VBA như trên, thì việc xóa dòng theo điều kiện này mất khoảng hơn 10 phút. Ở trong hình sau, D1 là thời gian bắt đầu, D2 là thời gian đoạn code kết thúc chạy.

cach-xoa-nhanh-nhieu-dong-theo-dieu-kien-trong-excel-002

Cách xóa nhiều dòng theo điều kiện nhanh hơn

Cách 1:

Ý tưởng ở đây là, chúng ta sẽ sử dụng 1 công thức trong cột phụ để “nhận biết” dòng nào cần được xóa, sau đó xóa với đoạn code VBA sau đây

Kết quả: nhanh hơn 1 chút

cach-xoa-nhanh-nhieu-dong-theo-dieu-kien-trong-excel-003

Cách 2:

Sử dụng hàm Filter trong bộ hàm mảng động mới của Microsoft. Với cách này, thì kết quả filter gần như có ngay lập tức (kết quả lọc ở cột B)

cach-xoa-nhanh-nhieu-dong-theo-dieu-kien-trong-excel-004

Cách 3:

Sử dụng chức năng Filter để lọc kết quả hoặc copy qua sheet khác:

Cách 4:

Xóa trực tiếp sử dụng Autofilter trong VBA hoặc xóa bằng tay 🙂

cach-xoa-nhanh-nhieu-dong-theo-dieu-kien-trong-excel-005

 

Như vậy, qua bài này, Học Excel Online đã chia sẻ với các bạn thêm 4 cách để chúng ta có thể xóa nhiều dòng theo điều kiện 1 cách dễ dàng và hiệu quả hơn trong Excel. Chúc các bạn thành công.