【发布时间】:2018-05-18 14:59:42
【问题描述】:
我正在尝试评估 Excel 中的一个方程式,其中运算由单元格的值决定。例如,假设我在A2 中有一个方程,它是100 (operation) 100。我希望对该单元格进行评估,以便if A1 = 1, then 100*100, if 2 then 100/100, if 3 then 100+100, if 4 then 100-100。我能够想出一个解决方案,使用VLOOKUP 来确定操作,连接以将数字与操作结合起来,并在命名范围内使用 Excel 4.0 宏函数 EVALUATE 将文本字符串评估为数字。
现在,我想在 VBA 中做同样的事情(我仍然有操作查找表,即 Excel 表中的1 = *、2 = / 等)。如果没有 if/then/else 语句,有什么方法可以做到这一点?
【问题讨论】:
-
yup 使用
worksheets().evaluate("String"),您可以将操作数加载到数组中,并使用 A1 中的值引用数组。 -
您也可以在命名公式中使用评估并绕过 VBA...但是您的工作簿需要保存为 XLSM,因为 EVALUATE 是旧的 VBA 内置函数...或类似的东西效果。
标签: vba excel excel-formula