Из этого туториала Вы узнаете, как использовать Goal Seek в VBA.
Goal Seek - это один из инструментов анализа «что-если», доступных в Excel, который позволяет применять различные значения к формулам и сравнивать результаты.
Синтаксис поиска цели
Функция GoalSeek имеет 2 аргумента - цель (ячейка, которую нужно изменить) и ChangingCell (ячейка, которую необходимо изменить). Функция возвращает True или False - True, если цель найдена, и False, если цель не найдена.
Использование поиска цели в VBA
Рассмотрим следующий рабочий лист ниже.
Чтобы изменить размер ежемесячного погашения, изменив срок в месяцах, мы можем написать следующую процедуру.
1234 | Sub IncreaseTerm ()'сделать B6 100, изменив B5Диапазон ("B6"). Цель GoalSeek: = 100, ChangingCell: = Range ("B5")Конец подписки |
Обратите внимание, что в ячейке B6 должна быть формула, а в ячейке B5 - значение.
Использование поиска цели с условием if
Вы также можете использовать GoalSeek с оператором If, чтобы направлять поток вашего кода.
12345678 | Sub IncreaseTerm ()'сделать B6 100, изменив B5 - и вернуть сообщение пользователюЕсли Range ("B6"). GoalSeek (Goal: = 100, ChangingCell: = Range ("B5")) = True, тогдаMsgBox «Новый термин найден успешно»ЕщеMsgBox («Новый термин не найден»)Конец, еслиКонец подписки |