Code tìm dòng cuối cùng có dữ liệu trong VBA chắc hẳn không còn xa lạ gì với những người hay sử dụng VBA. Bài viết này, Học Excel Online sẽ hướng dẫn một số Code thường dùng để tìm dòng cuối, bạn có thể tham khảo và lựa chọn cách áp dụng cho phù hợp với từng trường hợp 😊.
Xem nhanh
Khi làm việc với VBA Excel thì ta thường phải xác định được dòng cuối cùng có dữ liệu (sau đây xin gọi là dòng cuối) trong một cột của một Sheet nào đó. Từ đó làm căn cứ để điều dữ liệu vào dòng tiếp theo.
Trong phần này sẽ đưa ra một số Code thường được dùng để tìm dòng cuối trong Excel. Phương thức hoạt động của nó tương tự như việc bạn chọn ô cuối cùng của một cột nào đó trong trang tính và ấn Ctrl + mũi tên lên.
Lr = Range(“A” & Rows.Count).End(xlUp).Row
Rows.Count ở đây sẽ trả về tổng số dòng trong Sheet Excel của bạn đang làm việc. Với phương thức End(Up), nó tương đương với việc bạn chọn ô A & dòng cuối cùng trong Excel và ấn Ctrl + Mũi tên lên.
Việc xác định được dòng cuối cùng của một cột nào đó có dữ liệu rất quan trọng trong quá trình bạn viết Code VBA, khi mà bạn muốn ghi dữ liệu vào dòng tiếp theo trong data của bạn, thì lúc này bạn cần phải tìm được dòng cuối cùng có dữ liệu là dòng nào. Và lấy đó làm căn cứ để điền dữ liệu vào dòng ngay sau dòng cuối đó.
Lr = Cells(Rows.Count, 2).End(xlUp).Row
Một cách nữa cũng được sử dụng khá phổ biến trong tìm dòng cuối là sử dụng Cells với thuộc tính End(Xlup).
cells(RowIndex, ColumnIndex)
Cells(Rows.Count,2): Sẽ trả về ô có địa chỉ hàng là Rows.Count và địa chỉ cột là 2 (cột B). Với phương thức End(xlUp) thì bạn cũng sẽ tới được dòng cuối của cột B như hình trên.
Ngoài một số cách thường dùng trên thì trong phần này, Học Excel Online sẽ giới thiệu thêm một số cách khác. Tuy nhiên những cách này sẽ KHÔNG được sử dụng phổ biến, cần lưu ý khi áp dụng.
Với cách này thì nó tương tự như bạn ấn Ctrl + End trên bàn phím, và nếu như bạn chưa nắm được Ctrl + End thì tổ hợp phím này, khi bạn ấn nó sẽ Select ô cuối cùng có dữ liệu trong Sheet Excel bạn đang làm việc.
Sheet1.UsedRange.Rows(Sheet1.UsedRange.Rows.Count).Row
Tương tự như việc bạn chọn ô A2 và ấn Ctrl + mũi tên xuống.
Với cách này thì nó chỉ đúng khi trong vùng dữ liệu từ A2:A7 phải không có ô nào rỗng. Nếu bạn như nắm được cách hoạt động của phím Ctrl + mũi tên xuống thì mình nghĩ Code này sẽ không làm khó được bạn phải không nào 😊.
Sheet1.Range(“A2”).End(xlDown).Row
Trên đây là một số Code mà bạn có thể áp dụng để tìm ra dòng cuối cùng có dữ liệu khi bạn làm việc với VBA. Tuy nhiên, bạn nên sử dụng các cách ở phần các hàm thường dùng để áp dụng, còn ở phần các cách khác nhau thì bạn có thể tham khảo thêm.
Hướng dẫn cách để protect và unprotect nhiều sheet cùng 1 lúc
Sử dụng vba để điền công thức mảng
Hướng dẫn code vba để lấy 4 ký tự cuối cùng của chuỗi
Tự động hoá advanced filter với recod macro
Sử dụng vba để tạo mục lục tự động trong excel
Sử dụng vba để tách sheet tổng hợp thành nhiều sheet chi tiết với điều kiện tên chi nhánh