Làm thế nào nhập số liệu chi tiết qua các sheet khác nhau từ 1 file gốc một cách nhanh gọn

  • Thread starter Thread starter Nam168
  • Ngày gửi Ngày gửi
Liên hệ QC
Chỗ nào bạn chỉ cụ thể ra tôi mới dò lỗi được.
1652161890688.png
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 ạ
 

File đính kèm

Đã sửa code. Số lô ở sheet 02005 lệnh đính bộ bị đặt sai cột rồi nghe bạn.
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, 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)
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)
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)
1652170481542.png
 
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)
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
CẢM ƠN ANH RẤT NHIỀU
EM ĐÃ LÀM THÀNH CÔNG THEO NHƯ GỢI Ý CỦA ANH Ạ. :)
 
Web KT

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

Back
Top Bottom