Việc tìm dòng cuối cùng có chứa dữ liệu trong Excel với VBA tưởng chừng như một việc dễ làm. Nhưng thực ra lại khá phức tạp. Trong bài viết này, chúng ta sẽ cùng nhau xem việc này phức tạp tới mức nào.
Đầu tiên, để làm sáng tỏ vấn đề thì chúng ta cần định nghĩa thống nhất với nhau khái niệm “dòng cuối”:
Sau đây là các phương pháp chúng ta có thể dùng để tìm dòng cuối cùng:
Xem nhanh
Mỗi sheet trên Excel là một bảng có kích thước 16384 cột x 1048576 dòng. Với bảng này, khi mới được tạo ra, thì các ô chưa được sử dụng, với mỗi ô chúng ta đã lưu dữ liệu, lưu công thức, định dạng thì Excel coi nhưng ô đó đã được sử dụng – Used Range.
Với cách sử dụng Used Range, chúng ta có 2 cách để tìm được dòng cuối cùng như sau:
Với cách này, chúng ta mô phỏng phím tắt CTRL + UP hoặc CTRL + DOWN khi làm việc với vùng dữ liệu trong Excel. Đặc điểm của cách này là bỏ qua dòng ẩn, nhưng sẽ dừng lại ở trước một ô trống của cột đang xử lý
Cách này sẽ đưa ra kết quả khác khi áp dụng với đối tượng bảng (Table) trong Excel, vì không bỏ qua dòng bị ẩn
Kết quả trả về của từng dòng code như sau:
Đôi khi việc tính toán để tìm ra dòng cuối sẽ đem đến cho chúng ta kết quả chính xác và nhanh chóng hơn bằng cách đếm số dòng đã dùng, cộng với vị trí dòng bằng đầu và trừ đi 1: