hướng dẫn code VBA tiến độ SX sử dụng vòng lặp for next kết hợp offset

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

truongnguyen1511

Thành viên mới
Tham gia
5/4/23
Bài viết
10
Được thích
-1
Xin Chào các Cao nhân
Hiện mình có ý tưởng sắp xếp tiến độ Sản xuất tự động trên file excel nhưng mình lại chưa nghĩ ra cách lấy dữ liệu theo điều kiện ntn.
Theo như file thì mình có các cột màu cam (vuông xanh dương) là dữ liệu cho trước: code (đại diện cho 1 size hàng của đơn hàng), Khối lượng đơn hàng, ngày dự kiến hoàn thành, tháng SX, dây chuyền SX ( VD có 2 dây chuyền là MM1, MM2), các cột màu xanh (Vuông đỏ) từ F->AI là sắp xếp tiến độ SX từ ngày 01.04-30.04
Mình viết code cho chạy vòng lặp từ biến i cột C đến dòng cuối và biến j từ dòng 1 đến hết 30.04, thỏa điều kiện Ngày biến j>=ngày biến i thì sẽ ghi khối lượng tương ứng từ cột F đến cột AI (vuông xanh lá), nhưng chỉ ghi đủ khối lượng <300 , lớn hơn 300 tự động dịch 1 cột ở dòng tiếp theo ghi tiếp và cũng <300, và cứ thế đến hết ( năng lực SX của dây chuyền chỉ <300/ngày đó là lý do sắp xếp tiến độ SX theo ngày)
mình nghĩ đến offset nhưng mình chưa nghĩ ra điều kiện như thế nào để lấy kq như vậy
Các cao nhân trong Diễn đàn excel chắc cũng nhiều bạn làm bên mảng kế hoạch sản xuất , hóng các cao nhân chỉ giáo
Hình ảnh ý tưởng mình có hình ảnh và file đính kèm
Xin cảm ơnHình.jpg
 

File đính kèm

  • test 1.xlsm
    35.1 KB · Đọc: 18
Chỉ dùng hàm if cũng làm được như yêu cầu của file mẫu, nhập công thức vào ô F4 rồi kéo cho cả bảng:
Mã:
=+IF(SUM($E4:E4)<$B4,IF(SUM(F$3:F3)+$B4<=300,IF($B3=F3,$B4,IF(SUM(F$3:F3)=0,$B4,0)),0),0)
nếu mình xét thêm 1 điều kiện cột E nếu MM02 thì <300, MM01 <200 thì công thức ntn nhỉ, này mình còn thay sum bằng sumproduct để sum tổng theo đk tên dây chuyền là MM1 MM2 mà nó ra ko đúng ý
 
Upvote 0
Chỉ dùng hàm if cũng làm được như yêu cầu của file mẫu, nhập công thức vào ô F4 rồi kéo cho cả bảng:
Mã:
=+IF(SUM($E4:E4)<$B4,IF(SUM(F$3:F3)+$B4<=300,IF($B3=F3,$B4,IF(SUM(F$3:F3)=0,$B4,0)),0),0)
quả hàm này nếu mình thêm điều kiện, nếu MM02 thì <300, nếu MM01 thì <200, tức là mình muốn phân theo năng lực dây chuyền chạy 1 ngày, còn cái này theo hình chung là <300 cho tất cả các dây chuyền
 
Upvote 0
Hàm mà có quả thì lạ thiệt đó.
 
Upvote 0
Web KT

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

Back
Top Bottom