Xin giúp sửa code VBA tổng hợp sản lượng theo format file FCS đổ từ hệ thống ERP. (2 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

phucymvn

Thành viên mới
Tham gia
11/7/07
Bài viết
43
Được thích
6
Sau nửa ngày dùng chat GPT hỗ trợ tôi cũng viết được code sử dung để tổng hợp như file FCS1 ( đính kèm). Do tính chất công việc cứ 2 tuần tôi lại nhận được file tương tự và phải cộng từng tháng do đó đã mày mò viết code ở FCS1. nhưng khi thử code đó sang file FCS2 hoặc copy dữ liệu từ FCS2 sang file FCS1 thì chạy macro không cho ra kết quả. Tôi cũng không biết lỗi nó nằm ở đâu. Nhờ các bạn xem góp ý giúp tôi chỉnh sửa code cho hoàn chỉnh. Hoặc các bạn có thể viết code mới thỏa mãn kết quả như file FCS1 giúp mình. Cám ơn
 

File đính kèm

Lỗi nó nằm ở .xlsx và .xlsm đó bạn. xlsx không lưu code!!
 
Không phải cái đó bạn ơi, file FCS2 tôi đưa lên không để code cho các bạn theo dõi so sánh. Vì tôi copy code từ FCS1 sang FCS2 chạy báo lỗi mới không biết nó nằm ở đâu.
Không thấy nói là cộng theo điều kiện nào và kết quả mong muốn ra sao nhỉ.
 
Không thấy nói là cộng theo điều kiện nào và kết quả mong muốn ra sao nhỉ.
Kết quả mong muốn là tổng các mã theo tháng. File FCS1 khi chạy là ra kết quả mong muốn đó bạn. Vấn đề mình gặp phải sao code đó chạy sang file ngày tiếp theo khách hàng gửi lại bị lỗi mà chưa tìm ra.
 
Kết quả mong muốn là tổng các mã theo tháng. File FCS1 khi chạy là ra kết quả mong muốn đó bạn. Vấn đề mình gặp phải sao code đó chạy sang file ngày tiếp theo khách hàng gửi lại bị lỗi mà chưa tìm ra.
File FCS1 là kết quả, vậy đâu là file nguồn.
1755749895254.png
 
Chọn Năm và tháng cell A2,B2...
Click fải vùng xanh lá, chọn Refresh...
Cách của bạn cũng giúp tôi tổng hợp từng tháng, nhưng tôi cần hiện lên tất các tháng để có cái nhìn tổng thể để kiểm tra xu hướng mã nào đang tăng mã nào đang giảm. Code của tôi chạy đã ra hình như dưới mong các bác giúp hoàn chỉnh hơn.

1755749593661.png
 
Kết quả mong muốn là tổng các mã theo tháng. File FCS1 khi chạy là ra kết quả mong muốn đó bạn. Vấn đề mình gặp phải sao code đó chạy sang file ngày tiếp theo khách hàng gửi lại bị lỗi mà chưa tìm ra.
Vậy thì bài này nên viết code ra một file riêng, khi có file dữ liệu của tháng nào thì nhấn nút hiện cửa sổ chọn file tháng đó, sau đó code sẽ tự động xử lý như bình thường, không cần mỗi file lại đi copy code một lần.
 
Không phải cái đó bạn ơi, file FCS2 tôi đưa lên không để code cho các bạn theo dõi so sánh. Vì tôi copy code từ FCS1 sang FCS2 chạy báo lỗi mới không biết nó nằm ở đâu.
Bạn nên viết 1 addin, khi đó nó chạy cho mọi file của bạn. Viết addin cũng có 1 lợi thế là các cập nhật làm trên 1 file code duy nhất, không bị chồng lấn hay bỏ sót.
 
Vậy thì bài này nên viết code ra một file riêng, khi có file dữ liệu của tháng nào thì nhấn nút hiện cửa sổ chọn file tháng đó, sau đó code sẽ tự động xử lý như bình thường, không cần mỗi file lại đi copy code một lần.
MÌnh đã thử làm cái đó mà chưa được vì bản thân code tại file còn đang bị trục trặc mà
 
copy dữ liệu khác vào rồi refresh
Header bạn đặt không thống nhất nên tổng hợp không đúng...
Vào Query/Edit bỏ vài step thừa là có ngay kết quả .
Thêm vài Slicer là lọc thoải mái.
Mã:
let
   Nguon = Excel.CurrentWorkbook(){[Name= "Table1"]}[Content],
   Xoay = Table.UnpivotOtherColumns(Nguon, {"Plant", "Material", "vendor number"}, "Attribute", "Value"),
   Changed = Table.TransformColumnTypes(Xoay, {{"Plant", type text}, {"Material", type text}, {"vendor number", type text}}),
   TachHeader = Table.TransformColumns(Changed, {{"Attribute", each Text.Start(_, 6), type text}}),
   Grouped = Table.Group(TachHeader, {"Plant", "Material", "vendor number", "Attribute"}, {{"Count", each List.Sum([Value]), type number}}),
   Pivoted = Table.Pivot(Grouped, List.Distinct(Grouped[Attribute]), "Attribute", "Count", List.Sum)
in
   Pivoted
 

File đính kèm

Lần chỉnh sửa cuối:

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

Back
Top Bottom