Я пытаюсь автоматизировать функцию поиска цели в VBA, которая пытается изменить Diameterindv / P / c16, пока не сделает QFuld / R / c18 больше, чем Q Max / N / c14. R - это формула, которая вычисляет поток на основе диаметра в P. Он должен быть больше, чем необходимый входящий поток в N.
Я добавил снимок экрана и немного кода. Однако при запуске приведенного ниже кода я часто получаю странные результаты (среди них большие отрицательные числа). Пример: запуск кода P внезапно становится -63082144,16.
Мне интересно, возможно ли для Goal Seek искать только в заранее заданных числах / диапазоне? Например, мне нужны только числа, которые он может использовать в качестве решения, 188, 235, 297, 377, 500, 600.
Текущий неправильный результат:
Desired result in red:
введите описание изображения здесь
Sub Nyberegning()
r = 3
Do While Cells(r, 1) <> ""
Cells(r, 18).GoalSeek goal:=Cells(r, 14) + 0.001, changingcell:=Cells(r, 16)
r = r + 1
Loop
End Sub