Last row-tìm dòng cuối cùng

tuhocvba

Administrator
Thành viên BQT
Chạy code mà không biết đâu là dòng dữ liệu cuối cùng thì không được, có rất nhiều cách, ở đây trình bày cách hay được dùng hơn cả.
1. Trường hợp chúng ta biết chính xác cột A là cột chứa dòng dữ liệu cuối cùng.
Ví dụ ta có bảng dữ liệu sinh viên, vậy thì cột chứa mã hiệu sinh viên là cột luôn luôn phải nhập dữ liệu, tức là cột này sẽ chứa dòng dữ liệu cuối cùng.
Mã:
Dim rend    As Long    
    rend = Range("A" & Rows.Count).End(xlUp).Row
Ý nghĩa của code trên, nó sẽ tìm dòng cuối cùng trên cột A có chứa dữ liệu. Rows.Count sẽ cho biết bảng tính có bao nhiêu dòng. Ví dụ với excel 2013, dòng cuối là 1048576. Như vậy đoạn code trên tương đương với thao tác bằng tay, từ ô A1048576, bạn ấn tổ hợp phím Ctr+↑ (phím mũi tên trỏ lên trên bàn phím).
 

vbano1

SMod
Thành viên BQT
2. Cũng có trường hợp chúng ta không biết chính xác cột nào chứa dòng dữ liệu cuối cùng.
Đương nhiên, biết chính xác cột nào chứa dòng dữ liệu cuối cùng vẫn là ưu tiên số một.
Tuy nhiên trong trường hợp không biết thì làm thế nào, khi đó ta nhớ là còn một phím tắt khác khá thú vị là Ctr + Shift+end:
Bạn cần đăng nhập để thấy đính kèm


Dữ liệu dòng 11 đã được xóa đi rồi, ở đây mình tô màu vàng.
Mã:
Sub FindingLastRow()
'tuhocvba.net

Dim sht As Worksheet
Dim LastRow As Long

Set sht = ActiveSheet

'Ctrl + Shift + End
LastRow = sht.Cells.SpecialCells(xlCellTypeLastCell).Row

End Sub
Kết quả là LastRow = 11 chứ không phải là 8.
 

Euler

Administrator
Thành viên BQT
2. Cũng có trường hợp chúng ta không biết chính xác cột nào chứa dòng dữ liệu cuối cùng.
Bổ sung về SpecialCells:
Bạn cần đăng nhập để thấy đính kèm

Nguồn:
 
Top