Решения для Excel 2016 VBA - PullRequest
       18

Решения для Excel 2016 VBA

0 голосов
/ 27 августа 2018

Я пытаюсь запустить автоматический решатель для столбца значений.Целевые ячейки, ячейки ссылок и ограничений находятся в одной строке, и они перемещаются вниз вместе с целевой ячейкой при запуске решателя по всему столбцу.Клетка-мишени должна быть сведена к минимуму, путем изменения опорной ячейки в той же строке, под Constrain, требующий, чтобы сохранить третью ячейку (что зависит от величины опорной ячейки) больше или равно, чем четвертая ячейка.Ни одна из ячеек не содержит целых чисел, все они содержат десятичные значения.

Для возобновления:
Целевая ячейка (будет свернута): P13
Контрольная ячейка (изменяющаяся ячейка): L13
Ограничить(где M13 зависит от L13): M13> = F13

все до строки 8795, смещая соответственно все ячейки, о которых говорилось выше.

Средство отлично работает, выполняя его вручную строка за строкой, нопытаясь автоматизировать его, чтобы избежать 8762 итераций, он не соблюдает ограничения.Я попытался удалить "", добавить SolverReset и поставить ограничение поверх инструкций, но ничего не получалось.Код:

    Private Sub CommandButton1_Click()

Dim count As Integer
count = 13
Do While count <= 8795

    SolverOk SetCell:=Cells(count, 16), MaxMinVal:=2, ByChange:=Cells(count, 12)
    SolverAdd CellRef:=Cells(count, 13), Relation:=3, FormulaText:=Cells(count, 6)

    SolverSolve userfinish:=True

    count = count + 1
Loop
End Sub

Я пытался изменить ограничение, и я заметил, где, вероятно, ошибка: после запуска кода, если я открываю решатель, я вижу последнее ограничение, использованное кодом.Как вы можете видеть на изображении ниже, я попытался установить новое ограничение L13 <= H13, где H13 = 9,272, но решатель имеет 9272190 .... возможно, он не "видит" десятичный разделитель.Любая идея?<a href="https://i.stack.imgur.com/GxVYn.png" rel="nofollow noreferrer">enter image description here

Спасибо за ваше время.

...