GoalSeek только в VBA, без зависимости от ячейки WorkSheet

Очень скоро : вместо ActiveCell из ActiveCell.GoalSeek Goal:=0, ChangingCell:=Range("GM") формула, как я могу использовать переменную? Поэтому я хочу использовать что-то вроде GoalSickVariable.GoalSeek Goal:=0, ChangingCell:=Range("GM")

,

Как деталь:

Я пытаюсь сократить мою текущую формулировку GoalSeek, и я застрял на последней строке.

До сих пор я запускал свои коды в WorkSheet, но поскольку я не могу предположить, какая часть рабочего листа будет пустой, я направлялся в ячейку, которая находится вдали от ссылочной ячейки .Offset(0,25) но как пользователь также может использовать эту ячейку, я бы не хотел использовать какой-либо диапазон в WorkSheet – если это возможно.

 ... ActiveCell.Offset(0, 25).Select ActiveCell.Formula = "=ROUNDUP(SellPrice,-3)" RoundedCellAddress = ActiveCell.Address ActiveCell.Offset(0, 1).Select ActiveCell.Formula = "=(" & RoundedCellAddress & "-" & "SellPrice" & ")" 'SellPrice is a NamedRange from this current Worksheet ActiveCell.GoalSeek Goal:=0, ChangingCell:=Range("GM") 'GM is also a NamedRange from this WS and it changes SellPrice's value. ... 

Хотя это очень плохая практика со многими ActiveCell и Assuming Cell Reference , этот выше код работает без каких-либо проблем. В любом случае, как я объяснил выше, я не хочу считать эту .Offset(0,25) и не хочу использовать эти ActiveCell .

Итак, вот как я превратил свой код в хорошую практику:

  ... RoundedSellPrice = Application.WorksheetFunction.RoundUp(ws4.Range("SellPrice"), -3) GoalSick = RoundedSellPrice - ws4.Range("SellPrice") GoalSick.GoalSeek Goal:=0, ChangingCell:=ws4.Range("GM") ... 

Но теперь, как вы можете легко догадаться, это дает мне ошибку Invalid Qualifier в строке GoalSick.GoalSeek потому что GM и SellPrice являются переменными, определенными в WorkSheet, поэтому они ( я думаю ) не могут использовать формулу GoalSeek из модуля VBA, не обращаясь ни к какой ячейке (содержит формулу) в WorkSheet.

Если каким-то образом я не могу сделать эту формулировку, не обращаясь к ячейке в WorkSheet, как я должен полагаться, чтобы не делать фиктивную ячейку типа .Offset(50,150) или без создания нового пустого WorkSheet?

Interesting Posts

Есть ли причина не использовать класс «1» с небольшой надстройкой VSTO?

Сформулируйте необходимость в Excel, чтобы проверить, будет ли ребенок в течение следующих 6 месяцев

Как я могу помешать excel автоматически создавать серию в моей диаграмме, созданной vba?

Как заставить excel игнорировать символы, когда он подсчитывает сумму значений в строке, которая содержит символы

Скрыть и показать столбцы на всех листах с помощью функции VBA

Как импортировать текстовую строку как числовое значение в R?

Создайте несколько критериев, несколько условных формул «IF и MIN»

Excel VBA работает нормально в начале после того, как ошибка 438 показала

VBA Sub выполняет вычисления для всех строк

Отображение значения сводной таблицы

Изменение формата даты VBA

Любой способ ускорить этот импорт excel?

Удаление ChrW и пространства из ячеек в VBA

Как настроить формулу excel для расчета при выполнении условия при сохранении исторических данных?

Изменить код для экспорта таблицы HTML в Excel

Давайте будем гением компьютера.