Một số Code VBA để tìm dòng cuối cùng có dữ liệu trong Excel

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 😊.

Một số Code VBA để tìm dòng cuối cùng có dữ liệu trong Excel

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.

Một số Code thường dùng

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.

Sử dụng Range với thuộc tính End(xlUp)

Lr = Range(“A” & Rows.Count).End(xlUp).Row

mot-so-code-vba-thuong-dung-de-tim-dong-cuoi-trong-excel-1

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 đó.

Sử dụng Cells với thuộc tính End(xlUp)

Lr = Cells(Rows.Count, 2).End(xlUp).Row

mot-so-code-vba-thuong-dung-de-tim-dong-cuoi-trong-excel-2

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.

Một số Code khác

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.

Sử dụng UsedRange

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

mot-so-code-vba-thuong-dung-de-tim-dong-cuoi-trong-excel-3

Sử dụng Cells hoặc Range với thuộc tính End(xlDown)

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

mot-so-code-vba-thuong-dung-de-tim-dong-cuoi-trong-excel-4

Kết luận

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


Tác giả: daovanluan

· · ·

Khóa học mới xuất bản