Я потратил часы на это и нашел связанные вопросы, но я не нашел ответа, который работает, поэтому я не считаю, что это дубликат.
у меня есть строка в ячейке, которая представляет собой простую формулу переменной в нем. Эта переменная будет определена заранее. Тогда мне нужно оценить строку. Я не могу получить значение ячейки для оценки. Сама строка вычисляется в окне интерпретация, но точно такое же значение ячейки не имеет:
?myVar
1
?[M115].Value
"0.1*" & myVar & "*(0.2+0.3*" & myVar & "/.4)"
?Evaluate("0.1*" & myVar & "*(0.2+0.3*" & myVar & "/.4)")
0.095
?Evaluate([M115].Value)
Error 2029
мое самое лучшее угадайте, что переменная не оценивается, так как я могу заменить myVar на 1, и это работает. Я пробовал все виды тройного цитирования, и это тоже не работает. Как я могу выполнить эту, казалось бы простую вещь? Я попытался обернуть в подлодки и функции следующим образом:
Function ev(r As Range, ByVal myVar As Double) As Variant
Debug.Print myVar
Debug.Print r.value
ev = Evaluate(r.value)
End Function
?ev([M115], 1)
1
"0.1*" & myVar & "*(0.2+0.3*" & myVar & "/.4)"
Error 2029
myVar=1
?Evaluate("0.1*" & myVar & "*(0.2+0.3*" & myVar & "/.4)")
0.095
что я упускаю из виду? Благодаря.