Как исправить значения определенных ячеек, чтобы их нельзя было изменить по какой-либо формуле? - PullRequest
0 голосов
/ 27 июня 2019

Я создаю инструмент планирования отправки для 93 скусов и 26 локаций. Я создал режим решателя для оптимизации количества. Теперь мне нужно зафиксировать значение определенных ячеек равным 0, а затем выполнить оптимизацию, потому что не все sku требуются в каждом месте.

Public Sub Disp()
    Dim i As Integer, sku As Integer, j As Integer, loc As Integer

    Set ws = Sheets("Master")
    Sheets("Master").Select
    SolverReset
    sku = 97, loc = 27

    For j = 4 To loc
        SolverReset
        SolverOk SetCell:=ws.Cells(sku + 2, j).Address, MaxMinVal:=2, ValueOf:=0, ByChange:=ws.Range(ws.Cells(4, j).Address, ws.Cells(sku, j).Address), _
            Engine:=2, EngineDesc:="Simplex LP"

        For i = 4 To sku
            SolverAdd CellRef:=ws.Cells(i, loc + 1).Address, Relation:=1, FormulaText:=ws.Cells(i, 3).Address
        Next i

        SolverAdd CellRef:=ws.Cells(sku + 1, j).Address, Relation:=1, FormulaText:=ws.Cells(3, j).Address
        SolverSolve UserFinish:=True
    Next j

    Sheets("Control").Select
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...