Code xác định cell cuối cùng có dử liệu (1 người xem)

Liên hệ QC

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

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,957
Ví dụ trong cột A có dử liệu tùy ý và được bố trí không theo 1 quy luật nào:
- Có thể có 1 vài cell chứa giá trị (chưa biêt trước được kiểu dử liệu)
- Có thể có 1 vài cell chứa công thức (chưa biêt trước được kiểu dử liệu)

Xin hỏi ta sẽ dùng code gì để xác định chính xác vị trí của cell cuối cùng có dử liệu?
Tôi thấy chúng ta thường hay dùng:
Range(Cell cuối cùng).End(xlUp)
Nhưng trong trường hợp cell cuối cùng (là cell A65536 đối với Excel 2003 và là cell A1048576 đối với Excel2007) có dử liệu thì code này sai
Vậy giãi pháp nào là đúng trong mọi trường hợp của dử liệu và mọi Version của Excel?
 
Em có viết code xác định cell cuối có dữ liệu, nhưng bị báo lỗi
Mã:
Sub thu()
If Cells(Cells.Rows.Count, 1).Resize(, 13).Value = "" Then Cells(Cells.Rows.Count, 1).Resize(, 13) = 0
End Sub
Mục đích như sau:
Từ dòng "Cộng", xê dịch đến cột M, cụ thể hiện nay là cell M21
Nếu cell M21 này trống thì điền vào cell M21 giá trị bằng 0 (nếu khác trống thì không điền gì hết)
Nhờ anh/chị sửa code giúp

Thứ nhất: Bạn không thể xài phương thức Resize được; Thay vì vậy ta chỉ có thể xài Offset( ,13)
Thứ hai: Nếu dịch sang tiếng Việt, câu lệnh trên sẽ là:

Nếu ô cuối thuộc cột [A:A] của trang tính, mở rọng về phía phải 13 ô là rỗng thì các ô này nhận trị là 0

Ở đây bạn có thể gặp 2 bất trắc trong tương lai mà không ngờ.
Điều này bạn có thể làm thực nghiệm để tự chiêm nghiệm;

Thứ ba: Nên xài phương thức FIND() để tìm từ "Cộng" này ở cột [A:A] là chắc như bắp;
Trong trường hợp trong cột [A:A] có thể có nhiều từ hay cụm từ 'Cộng', thì :
A./ Thử ô cuối cột [A:A] có phải là từ này hay không
Nếu đúng thì không còn gì để nói & tiếp sang câu lệnh cuối;
Nếu không thì xài phương thức End(xlUp) để xác đinh dòng (ô) cuối có dữ liệu thuộc cột [A:a] có phải từ này hay không
Nếu phải thì tiếp sang câu lệnh cuối
Nếu chưa phải thì phải xài FIND() để tìm cho ra từ 'Cộng' cuối dòng thuộc cột [A:A]
& Dòng lệnh cuối là gán trị vô ô M dòng cuối là cái gì đó;
 
Upvote 0
Cũng không tới mức độ phải dùng phương thức Find đâu. Mọi người tham khảo video sau xem có khả thi không?
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom