Tag: 评估

Excel评估公式错误

我的VBA代码是 Function yEval(entry As String) yEval = Evaluate(entry) Application.Volatile End Function 在单元格f4 Sheet1中我有公式=yEval(Sheet2!E19) sheet1上的单元格d4包含数字12 Sheet2!I19包含string$ Q 如果Sheet2!e19有stringINDIRECT(“pries!”&Sheet2!I19&12)或INDIRECT(“pries!”&Sheet2!I19&Sheet1!d4)或INDIRECT(“pries!”&Sheet2!I19&“Sheet1!D”&row()+ 12)公式返回结果从表撬!$ Q12 如果Sheet2!e19有stringINDIRECT(“pries!”&Sheet2!I19&address(row(),4))或INDIRECT(“pries!”&Sheet2!I19&“Sheet1!D”&row())忽略row()函数 如何使这个公式根据行号改变d4部分,如果行是5则d5 INDIRECT("pries!"&Sheet2!I19&Sheet1!d4)

如何在没有macros的情况下忽略excel中的函数?

曾经有一个称为评估的函数来评估一个单元格的内容。 但是,这个function似乎不再存在。 这是我正在寻找解决的问题(这应该是批量运行): A1包含一个连接函数,该函数创buildstring='C:\users\example\[ref.xlsx]'Sheet!D5 。 这个string应该是对另一个工作簿中单元格的引用。 但是,Excel将等号视为一个string,因此不会执行该function。 我知道最常见的解决方法: 复制和粘贴只到另一个单元格的值,然后用“=”replace“=”和单元格自动评估(不是一个选项,因为需要手动处理,不能批量使用) 编写一个评估单元格的macros(不是一个选项,因为批处理与macros启用的工作簿不兼容) 创build一个评估每个评估macros的单元格的UDF(也需要启用macros的工作簿,因此不是一个选项) macros不是一个选项。 每个function无法自动执行的手动过程也不是一个选项。 我不知何故需要excel来显示参考单元的内容。 谢谢你的帮助!!! Mpdegn

问题与excel的application.evaluate命令在vba中

我遇到了一些Excel代码问题,我无法解决问题。 好吧,我在excel vba,office 2007中使用application.evaluate命令。 如果我有Evaluate("SIN(45)")它返回一个很好的预测数字。 但是,如果我做Evaluate("eq")的代码崩溃。 eq是我从Excel中读取的一个等式。 该方程是: 3*x^2+5*x+1 。 它作为一个string传入。 为了确保发生这种情况,我把它放在另一个我定义为string的variables中。 我使用Excel的replace函数replace等式中的x。 equation = Replace(equation, "x", temp) 。 但是,当我到评估代码分解,我不知道为什么。 Total = Total + Evaluate("equation") 。 任何帮助是极大的赞赏

.Value = .Value与VBA中的Evaluate()函数类似吗?

考虑下面的片段。 它将相同的公式写入两个单元格A1和A2 Sub Main() With Range("A1") .Formula = "=1+1" End With With Range("A2") .Formula = "=1+1" .Value = .Value End With End Sub 第二个块使用.Value = .Value来计算/执行公式,因此公式从公式栏中消失。 请参阅公式栏中的隐藏公式以获得支持性参考。 现在,添加另一个块 With Range("A3") .Formula = "=1+1" End With Range("A4") = Evaluate(Range("A3").Formula) 您将公式添加到单元格A3然后新单元格的公式正在Evaluated()到另一个单元格A4 。 结果如图所示 我认为上面那种显示.Value = .Value和Evaluate()做同样的事情。 但是,下面的代码使用上述两种方法从封闭的工作簿中提取值。 我为这个例子创build了一个工作簿book9.xlsm ,把hello放在单元格A1中。 book9.xlsm是我将从A1拉取价值的一个。 考虑代码 Sub PullValue() With Range("A1") .Formula = […]