Nam168
Thành viên chính thức
- Tham gia
- 11/4/22
- Bài viết
- 81
- Được thích
- 5
- Giới tính
- Nữ
Chỗ nào bạn chỉ cụ thể ra tôi mới dò lỗi được.
Đã sửa code. Số lô ở sheet 02005 lệnh đính bộ bị đặt sai cột rồi nghe bạn.View attachment 275724
ví dụ như hình trên anh gửi, dù e sửa lại lô khác thì trên lệnh có tới 6 mã TMP296 (khác lô) sau khi tổng hợp chỉ cho kết quả 1 lô như hình này, còn 5 lô còn lại không tổng hợp được ạ
Cảm ơn anh, file hiện tại đã tổng hợp đầy đủ rồi ạĐã sửa code. Số lô ở sheet 02005 lệnh đính bộ bị đặt sai cột rồi nghe bạn.
1/ Nếu cột đã cố định như số lượng thì viết tSh.Cells(rw, 3) = sSh.Range("H" & d) tức là cột 3 của dòng rw của sheet đích = ô cột H dòng d của sheet nguồn (viết là Cells(d, "H") hay là Cells(d, 8) cũng được)Cảm ơn anh, file hiện tại đã tổng hợp đầy đủ rồi ạ
Anh cho em hỏi thêm, nội dung code khi anh copy phần dữ liệu từ lệnh qua cột "ghi chú" là gì vậy ạ, em muốn thử tập viết để copy 1 số nội dung từ bên lệnh qua ạ (ví dụ em muốn bổ sung " ngày xuât", "số phiếu" vào bảng tổng hợp)
CẢM ƠN ANH RẤT NHIỀU1/ Nếu cột đã cố định như số lượng thì viết tSh.Cells(rw, 3) = sSh.Range("H" & d) tức là cột 3 của dòng rw của sheet đích = ô cột H dòng d của sheet nguồn (viết là Cells(d, "H") hay là Cells(d, 8) cũng được)
2/ Còn cột ghi chú là không cố định. Nó phụ thuộc vào số cột nguyên liệu chi tiết nên phải viết là:
tSh.Cells(rw, tSh.Cells(6, 4).End(xlToRight).Column + 1) = sSh.Range("B5")
Trong đó riêng cột phải xác định bằng câu lệnh tSh.Cells(6, 4).End(xlToRight).Column + 1 có nghĩa là tại sheet đích, từ Cells(6, 4) tức là ô D6, chạy con trỏ qua phải đến khi trước ô không có số liệu thì lấy số thứ tự của cột đó + 1 (End(xlToRight) tương đương với tổ hợp phím Ctrl+mũi tên phải)
VD: Theo hình dưới thì từ D6 chạy đến F6 thì lấy số cột là 6 + 1 = 7 (vì G6 là bằng rỗng, chữ GHI CHÚ là của ô G5 bị gộp ô với G6)
View attachment 275739