以列/行连接值并获取结果的值

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',它给出了与预期完全一致的所需输出.但是,我仍然无法弄清楚如何对行做同样的事情.

有没有办法只用公式来实现上述目的?

我想避免使用宏,因为撤消功能丢失但欢迎提出建议.

CLR*_*CLR 5

您可以创建一个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)