我正在创建一个公式字符串。就像在这里(这是一个更简单的例子)
如果:
A1 is "Sum"
A2 is "D3"
然后B1是=Concatenate("=",A1,"(",A2,")")
我想要一个VBA宏,它接受B1中公式的结果,并在C1中粘贴作为公式。
我需要C1为公式=SUM(D3)
我认为它涉及PasteSpecial并进行评估,但我无法弄清楚如何。
我不想使用INDIRECT函数,因为我希望能够使用公式和内部的相对引用来填充更多单元格。
答案 0 :(得分:4)
with Activesheet
.Range("C1").Formula = .Range("B1").Value
End With
答案 1 :(得分:0)
我不知道你是否明确想要一个命令宏,但这似乎是一个很好用的VBA UDF。如果您创建UDF:
Function EvalFormula(f As String) As Variant
EvalFormula = Application.Evaluate(f)
End Function
然后在C1中你可以打电话:
=EvalFormula(B1)
将此作为UDF编写将消除那些您忘记运行宏的令人不快的情况,现在您的表单完全没有了。
答案 2 :(得分:-1)
ActiveSheet.Cells(2, 2).Value = ActiveSheet.Cells(1, 2).Value
你可以从我假设的其余部分开始工作: - )