Nit*_*lai 0 excel vba excel-vba excel-formula
我有一个excel工作表,如下所示.所需的输出如列G和最后一行所示,它连接列/行中的所有值,并给出结果表达式的值.
它实际上是某种拼图,其目的是用运算符替换某些数字,使得G中的值与指定值匹配.我正在从纸质版本复制excel中的相同内容.
A B C D E F G
3 3 33
4 1 + 2 43
4 0 + 5 6 4 604
7 3 2 / 1 2 61
3 7 2 7 3727
3 0 30
47 4033 304 0.4 2617 42
Run Code Online (Sandbox Code Playgroud)
我试过以下公式:
="="&A2&B2&C2&D2&E2&F2
Run Code Online (Sandbox Code Playgroud)
然而,它给出的结果是文本格式而不是43,我期望:
=41+2
Run Code Online (Sandbox Code Playgroud)
有没有办法让最终输出为43.
我开发(记录和修改)了一个宏,它只是简单地复制上面的结果,将它作为值粘贴在H列中,然后在H列上运行'text to columns',它给出了与预期完全一致的所需输出.但是,我仍然无法弄清楚如何对行做同样的事情.
有没有办法只用公式来实现上述目的?
我想避免使用宏,因为撤消功能丢失但欢迎提出建议.
您可以创建一个UDF,用于Application.Evaluate将文本字符串计算为值.然后你的公式就需要了=Eval(A2&B2&C2&D2&E2&F2)
Function Eval(txt As String)
Eval = Application.Evaluate(txt)
End Function
Run Code Online (Sandbox Code Playgroud)