Các cao nhân giúp em tìm dòng cuối cùng mà k chứa dữ liệu bằng code vba

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Mimi#

Thành viên mới
Tham gia
15/11/23
Bài viết
9
Được thích
0
Em muốn tìm câu lệnh chỉ ra đc dòng cuối cùng không chứa dữ liệu của sheet ạ, tức là đáy bảng ạ ai giúp em với
 
Nếu không xác định cột nào có ô chưa dữ liệu cuối cùng:
Mã:
ActiveSheet.UsedRange.SpecialCells(xlLastCell).Row + 1
Không ạ, ý em muốn hỏi về việc câu lệnh có thể tìm đuợc dòng cuối cùng của sheet luôn ạ , và đương nhiên dòng cuối sheet k hay có chứa dữ liệu đều được. Bởi em muốn tạo vòng lặp for next từ 1 đến vô cùng ạ
 
Upvote 0
Không ạ, ý em muốn hỏi về việc câu lệnh có thể tìm đuợc dòng cuối cùng của sheet luôn ạ , và đương nhiên dòng cuối sheet k hay có chứa dữ liệu đều được. Bởi em muốn tạo vòng lặp for next từ 1 đến vô cùng ạ
Đoán mò thế lày: range("anh:anh").rows.count
 
Upvote 0
Chủ bài đăng: Đọc bài tổng quan về phương thức FIND() được treo trên đầu của đề mục "Lập trình. . ."
 
Upvote 0
Sao quý vị đoán hay thật. Quả là cao nhơn. Thường nhơn như tôi thì hiểu "dòng cuối cùng không chứa dữ liệu của sheet, tức là đáy bảng" kiểu khác:
dongCuoi = rows.count
code dò ngược lên trên cho đến khi gặp dòng trống

code dò ngược:
For dongCuoi = dongCuoi To 1 Step -1
IF Application.COUNTA(Range(dongCuoi & ":" & dongCuoi)) <= 0 Then Exit For
Next
If dongCuoi <= 0 Then ' no bloody good
 
Lần chỉnh sửa cuối:
Upvote 0
@Mimi# Bạn có thể tham khảo sử dụng phương thức Find của Range

(Đối số xlFormulas và xlValues tương đương tìm có công thức và giá trị)


JavaScript:
Function LastCell(Optional sheet As Worksheet) As Range
  On Error Resume Next
  If sheet Is Nothing Then Set sheet = ActiveSheet
  Set LastCell = sheet.Cells.Find("*", After:=sheet.Cells(1, 1), LookIn:=xlFormulas, LookAt:=xlWhole, SearchDirection:=xlPrevious, SearchOrder:=xlByRows)
  On Error GoTo 0
End Function
 
Upvote 0
Không ạ, ý em muốn hỏi về việc câu lệnh có thể tìm đuợc dòng cuối cùng của sheet luôn ạ , và đương nhiên dòng cuối sheet k hay có chứa dữ liệu đều được. Bởi em muốn tạo vòng lặp for next từ 1 đến vô cùng ạ
dòng cuối

= Rows.Count

= 1048576

Nếu bạn muốn tạo vòng lặp:

For i=1 to Rows.Count

Thì sáng mai quay lại đây nói chuyện tiếp nhé.
 
Upvote 0
dòng cuối

= Rows.Count

= 1048576

Nếu bạn muốn tạo vòng lặp:

For i=1 to Rows.Count

Thì sáng mai quay lại đây nói chuyện tiếp nhé.

dòng cuối

= Rows.Count

= 1048576

Nếu bạn muốn tạo vòng lặp:

For i=1 to Rows.Count

Thì sáng mai quay lại đây nói chuyện tiếp nhé.
Vâng thì đúng là em đang tạo for i=1 to rows.count ạ , làm vậy có hợp lí và ổn không mà bạn nói chuỵn căng quá
 
Upvote 0
Vâng thì đúng là em đang tạo for i=1 to rows.count ạ , làm vậy có hợp lí và ổn không mà bạn nói chuỵn căng quá
Ahh, quay lại rồi à bạn, máy xử lý xong chưa?
Mình nói bạn "sáng mai quay lại", có ý đùa thôi, ý là để biến i loop từ 1 đến 1048576 thì mất cả ngày đó
Dĩ nhiên mình hiểu là biến i chắc chắn không loop hết đến 1 triệu, và sẽ có điều kiện gì đó gài bên trong để thoát ra khoải vòng.
Nếu có thể, thì bạn hãy share file mẫu và giải thích bạn cần làm gì và kết quả muốn có là gì nhé.
 
Upvote 0
Ahh, quay lại rồi à bạn, máy xử lý xong chưa?
Mình nói bạn "sáng mai quay lại", có ý đùa thôi, ý là để biến i loop từ 1 đến 1048576 thì mất cả ngày đó
Dĩ nhiên mình hiểu là biến i chắc chắn không loop hết đến 1 triệu, và sẽ có điều kiện gì đó gài bên trong để thoát ra khoải vòng.
Nếu có thể, thì bạn hãy share file mẫu và giải thích bạn cần làm gì và kết quả muốn có là gì nhé.
Vâng ạ cám ơn bạn nhièo nha mình xử lí được rồi , mình có cho điều kiện để thoát vòng lặp hihi
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom