Tìm dòng cuối trong bảng dữ liệu (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

phanngoctrai1981

Thành viên chính thức
Tham gia
16/4/23
Bài viết
60
Được thích
0
Anh/chi xem giúp
Hiện em muốn tìm dòng cuối trong bảng dữ liệu tính từ A1:O21 (phía dưới vẫn có dữ liệu)
Kinh mong anh/chi xem file chỉ giúp.
Em cảm ơn
 

File đính kèm

Anh/chi xem giúp
Hiện em muốn tìm dòng cuối trong bảng dữ liệu tính từ A1:O21 (phía dưới vẫn có dữ liệu)
Kinh mong anh/chi xem file chỉ giúp.
Em cảm ơn
Trong VBA range có cái thuộc tính gọi là: CurrentRegion
Nếu bạn nắm được khái niệm này thì bạn giải quyết vấn đề của bạn dễ dàng.
Nếu tại ô A2 mà bạn dùng Range("A2").CurrentRegion, có nghĩa là bạn đang tham chiếu đến 1 vùng data liên tiếp của ô A2 (nghĩa là A1:O14)
Bạn test bằng code sau, vào cửa sổ Intermediate Window (Ctrl-G) xem kết qủa là gì nhé:

PHP:
Option Explicit
Sub test()
Dim rng As Range
Set rng = Range("A2").CurrentRegion
Debug.Print rng.Rows.Count
Debug.Print rng.Address
Debug.Print rng.Cells(rng.Rows.Count, rng.Columns.Count).Address
End Sub
 
Upvote 0
Bạn đọc không kỹ câu hỏi rồi, là "ô có dữ liệu cuối" cơ.
E6 là ô không có dữ liệu.
Nếu là ô có dữ liệu cuối thì phải nói rõ là ô cuối theo cột hay theo hàng, còn nói chung chung vậy là vô nghiệm. Nhưng như bảng của thớt gửi thì ô dữ liệu cuối 99% là theo hàng.
 
Upvote 0
Như vầy thì thằng nào được tính là "ô có dữ liệu cuối"?

View attachment 292247
TTHo & TenNgày SinhĐịa chỉ
1​
DFD00Dương Đức Dũng
4/6/1961​
128/21 Lê Lai
2​
FFD00Đỗ Đức Dung
2/24/1959​
12/21 Lê Lợi
3​
FJD00Đặng Dung
1/13/1957​
128/21 Lê Thái Tông
4​
LMD00Lại Thị Mỹ Dung
5/18/1963​
128/1A Lê Dục Tông
5​
LMD01Lê Mai Dung
6/28/1965​

PHP:
Sub TimDongDuLieuCuoi()
 Dim Rng As Range, sRng As Range
 
 Set Rng = Sheets("CSDL").UsedRange
 MsgBox Rng.Address, , "Msgbox 1"
 Set sRng = Rng.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows)
 If Not sRng Is Nothing Then
    MsgBox sRng.Address, , "MsgBox 2"
 End If
 Set sRng = Rng.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByColumns)
 If Not sRng Is Nothing Then
    MsgBox sRng.Address, , "MsgBox 3"
 End If
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom