Mây hôm rồi sắp hết hạn thuế nên không có ý kiến được. Thôi thì hôm nay mình xin chẻ vụn cái câu lệnh ấy nếu bạn nào mới học cũng tham khảo anh em GPE ghép đạt hiệu quả tối đa trong 1 câu lệnh nhé (Mình cũnh đã từng ngạc nhiên như bạn vậy).
1/Mục đích của câu lệnh: Tìm và gán cho biến iRow số hiệu dòng cuối cùng trên cột B chưa có dữ liệu. Ví dụ ô cuối trên cột B có dữ liệu là B20. iRow sẽ được xác định là 21. Lệnh này có nhiều tác dụng như:
-Xác định khối dữ liệu cần sử lý.
-Xác định dòng cuối để nhập dữ liệu sao cho không đè vào dữ liệu đã có hay bỏ trống ở giữa...
2/Nội dung câu lệnh:
ws.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row
-Rows.Count: Đếm trên trang tính có tối đa bao nhiêu dòng?
-Cells(Rows.Count, 2): Ô cuối cùng (dòng lớn nhất trên cột 2) tương đương B65536. Đây chính là ô xuất phát trên sheet ws
-ws.Cells(Rows.Count, 2).End(xlUp): Chuyển về ô cuối cùng có dữ liệu , tương đương nhấn Ctrl+Mũi tên lên. Con trỏ sẽ về ô B20 theo ví dụn trên.
-.Offset(1, 0): sẽ dịch chuyển tương đối so với ô đích vừa tìm thấy là: dịch xuống dưới 1 dòng và không dịch cột. Kết quả cho ô đích là B21 (Ô trống đầu tiên)
-.Row: cho số hiệu dòng của ô đích (21). Vậy iRow=21
Thôi nôm na vậy, mình không biết nói sao cho thật đẽ hiểu được.