Nhờ giúp đỡ code phân bổ số lượng theo không vượt quá con số cho trước?

Liên hệ QC
Trời ạ ngàn lần sorry Mod, vì Mod khai báo thiếu em khai báo Double nhưng thế nào lại gõ nhầm thành Boolean ... :D
Nãy giờ tưởng máy tính bị nhiễm virut , tải lại bài 1 rồi code ket để kiểm tra các kiểu, đến khổ (@$%@
À có lẽ tôi khai báo thiếu, nhưng bạn phải hiểu đó là dữ liệu là dạng số, chứ sao lại dạng True/False? Vả lại khi tôi đặt biến, nhìn biến có tiền tố từ "dbl" thì nên hiểu nó có kiểu dữ liệu là Double rồi chứ nhỉ? Bạn nên để ý những ký tự đầu của biến tôi đặt nhé.
 
Em không thấy có AddIn nào trong file bác gửi bài 17, bác gửi em đoạn code chạy của Addin đó với.
Bạn làm theo các bước sau:
Vào menu File -> Options ->Add-ins -> manage chọn excel add-ins, chọn Go -> tích chọn solver -> ok.

Sau đó vào menu Data sẽ thấy biểu tượng solver, bấm chọn là sẽ chạy được file bài trên
 
À có lẽ tôi khai báo thiếu, nhưng bạn phải hiểu đó là dữ liệu là dạng số, chứ sao lại dạng True/False? Vả lại khi tôi đặt biến, nhìn biến có tiền tố từ "dbl" thì nên hiểu nó có kiểu dữ liệu là Double rồi chứ nhỉ? Bạn nên để ý những ký tự đầu của biến tôi đặt nhé.
Vâng thì cũng nói em khai báo Double nhưng thế nào lại gõ nhầm thành Boolean mà.,lỗi tại em Mod nhé.
Bài đã được tự động gộp:

Bạn làm theo các bước sau:
Vào menu File -> Options ->Add-ins -> manage chọn excel add-ins, chọn Go -> tích chọn solver -> ok.

Sau đó vào menu Data sẽ thấy biểu tượng solver, bấm chọn là sẽ chạy được file bài trên
Ô cái này hay đấy,nhưng sao lại thế nhỉ, bác giải thích cho em hiểu chút về cái này với.. sao chỉ cần chọn cái addin là có luôn thiết lập vậy?
Em có rất nhiều dòng dữ liệu dạng này em cần một sub để chạy nó, bác có thể cho em tham khảo đoạn code của cái Addin có sẵn này được không, nếu chọn chọn thế này trong bối cảnh của em chuyển file cho người khác dùng sẽ rất bất cập.
 
Vâng thì cũng nói em khai báo Double nhưng thế nào lại gõ nhầm thành Boolean mà.,lỗi tại em Mod nhé.
Bài đã được tự động gộp:


Ô cái này hay đấy,nhưng sao lại thế nhỉ, bác giải thích cho em hiểu chút về cái này với.. sao chỉ cần chọn cái addin là có luôn thiết lập vậy?
Em có rất nhiều dòng dữ liệu dạng này em cần một sub để chạy nó, bác có thể cho em tham khảo đoạn code của cái Addin có sẵn này được không, nếu chọn chọn thế này trong bối cảnh của em chuyển file cho người khác dùng sẽ rất bất cập.
Cho đoạn code này vào file cần tính, chạy sau khi mở file, vào menu Data sẽ thấy solver
Mã:
Option Explicit

Sub Macro1()
    AddIns("Solver Add-in").Installed = True
End Sub
 
OK , ngon rồi Mod nhé, vậy là dùng Do Until với cách này không phải dùng thêm Exit.
Thanks Mod nhiều khổ thân Mod ,ngày nghỉ lại bị em hành .
Bậy bạ à nha, nó chỉ thoát khi c = số cột thôi, nếu vẫn chưa thỏa điều kiện.

Còn thật sự nó thoát là ở chỗ này: Exit Do
 
Cho đoạn code này vào file cần tính, chạy sau khi mở file, vào menu Data sẽ thấy solver
Mã:
Option Explicit

Sub Macro1()
    AddIns("Solver Add-in").Installed = True
End Sub

Bác ơi ,ý của em các lựa chọn này phải thiết lập từ trước đúng không bác? Nếu như vậy thì không thuận tiện cho em rồi, vì ở trên chỉ là 1 trường hợp thôi (mỗi trường hợp có 1 cặp gồm 2 dòng 1 dòng ban đầu và một dòng điều kiện giới hạn nên khó cho em, nếu có code thì em dễ chỉnh theo ý mình hơn khi thay đổi các vùng dữ liệu và các điều kiện.

1630225102187.png
 
Cho đoạn code này vào file cần tính, chạy sau khi mở file, vào menu Data sẽ thấy solver
Mã:
Option Explicit

Sub Macro1()
    AddIns("Solver Add-in").Installed = True
End Sub
Tôi không nghĩ là tác giả chỉ chạy đúng một hàng, có thể là một bảng dữ liệu, không biết cái này nó có thực hiện được tất cả không nhỉ?
 
Bậy bạ à nha, nó chỉ thoát khi c = số cột thôi, nếu vẫn chưa thỏa điều kiện.

Còn thật sự nó thoát là ở chỗ này: Exit Do
À thấy rồi em ko để ý code tưởng Mod nói vsi dụ em gửi đơn giản nên ko cần,túm lại là vẫn phải dùng exit, Ok Thanks Mod.
Bài đã được tự động gộp:

Tôi không nghĩ là tác giả chỉ chạy đúng một hàng, có thể là một bảng dữ liệu, không biết cái này nó có thực hiện được tất cả không nhỉ?
đấy đấy, đúng rồi đấy,cảm ơn sếp đã hiểu tâm tư của em.
 
Tôi không nghĩ là tác giả chỉ chạy đúng một hàng, có thể là một bảng dữ liệu, không biết cái này nó có thực hiện được tất cả không nhỉ?
Chạy nhiều dòng vẫn có thể được nhưng bị giới hạn số ô tính toán <= 200.

Nếu có file dữ liệu giống như thật thì mới tính được
Bài đã được tự động gộp:

Bác ơi ,ý của em các lựa chọn này phải thiết lập từ trước đúng không bác? Nếu như vậy thì không thuận tiện cho em rồi, vì ở trên chỉ là 1 trường hợp thôi (mỗi trường hợp có 1 cặp gồm 2 dòng 1 dòng ban đầu và một dòng điều kiện giới hạn nên khó cho em, nếu có code thì em dễ chỉnh theo ý mình hơn khi thay đổi các vùng dữ liệu và các điều kiện.

View attachment 265015
Vậy có giải quyết được yêu cầu của bài 1 không thế bạn
 
Chạy nhiều dòng vẫn có thể được nhưng bị giới hạn số ô tính toán <= 200.

Nếu có file dữ liệu giống như thật thì mới tính được
Bài đã được tự động gộp:


Vậy có giải quyết được yêu cầu của bài 1 không thế bạn
Được mà bác , em đã phản hồi ở bài 25 rồi đó, nếu bị giới hạn số ô tính toán 200 thì không được rồi , cảm ơn bác đã cho em biết thông tin.
 
Được mà bác , em đã phản hồi ở bài 25 rồi đó, nếu bị giới hạn số ô tính toán 200 thì không được rồi , cảm ơn bác đã cho em biết thông tin.
Bạn cứ đưa dữ liệu tầm vài chục dòng lên thử xem bạn CHAOQUAY giải quyết như thế nào, để xem cơ chế nó hoạt động với nhiều dòng thế nào.
 
Bạn cứ đưa dữ liệu tầm vài chục dòng lên thử xem bạn CHAOQUAY giải quyết như thế nào, để xem cơ chế nó hoạt động với nhiều dòng thế nào.
Ok, vậy em gửi dữ liệu nhiều làm phiền 2 bác xem giúp em, sorry em cập nhật thêm số liệu cần phân bổ.
 

File đính kèm

  • PhanBo_nhieu.xlsm
    134.4 KB · Đọc: 8
Chạy nhiều dòng vẫn có thể được nhưng bị giới hạn số ô tính toán <= 200.
Theo như thông tin này của bác, em nghĩ là với dữ liệu em gửi trong file kèm trên sẽ khó xử lý vì nằm 2 bảng khác nhau và nhiều dữ liệu, nên em muốn code để xử lý có lẽ sẽ thuận tiện hơn.
Dữ liệu thực của em dạng là như vậy các bác có ý tưởng hay cách làm nào để thuận tiện cho em tham khảo với.

Giới hạn trên của từng dòng được tính thế nào, tức là tương đương giá trị 1000 trong file bài 1 đó bạn
Em có gửi giới hạn max (chính là sheet tiêu chuẩn đó ạ) cột check em có vlookup đến nó , bác ơi.
 
Theo như thông tin này của bác, em nghĩ là với dữ liệu em gửi trong file kèm trên sẽ khó xử lý vì nằm 2 bảng khác nhau và nhiều dữ liệu, nên em muốn code để xử lý có lẽ sẽ thuận tiện hơn.
Dữ liệu thực của em dạng là như vậy các bác có ý tưởng hay cách làm nào để thuận tiện cho em tham khảo với.


Em có gửi giới hạn max (chính là sheet tiêu chuẩn đó ạ) cột check em có vlookup đến nó , bác ơi.
Đấy là "Số phân bổ" chứ bạn
 
à em nhầm, để em sửa lại thực ra nó là max đó ạ.


Thôi bác cứ để giúp em ví dụ max hết 1000 đi ạ em thấy hơi khó xử lý vì nhiều mã bác ạ, form là như vậy sau em sẽ cập nhật cho cho từng mã lại để check.
1000 thì không được vì có những dòng có giá trị > 1000. Vậy lấy tạm max từng dòng làm giới hạn trên, rồi tính sau nhé
 
1000 thì không được vì có những dòng có giá trị > 1000. Vậy lấy tạm max từng dòng làm giới hạn trên, rồi tính sau nhé
OK bác cứ lấy cho em một ví dụ logic là được,cảm ơn bác.
Bài đã được tự động gộp:

1000 thì không được vì có những dòng có giá trị > 1000. Vậy lấy tạm max từng dòng làm giới hạn trên, rồi tính sau nhé
Em thấy số bên bảng dữ liệu đang max=1500 vậy em sửa lại tiêu chuẩn trong khoảng 1600~1800 bác lấy file này giúp em nhé, mong muốn của em dùng code cho tiện không dùng công cụ có sẵn, các bác xem giúp em.
 

File đính kèm

  • PhanBo_nhieu.xlsm
    135.6 KB · Đọc: 6
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom