Vba 文本粘贴后的计算公式

Vba 文本粘贴后的计算公式,vba,excel,macros,Vba,Excel,Macros,我有一个公式,它在从用户输入的日期绘制文件路径时构造了一个vlookup函数,接下来我有一个宏,它获取这个公式的结果并将它们粘贴到单元格C6中 =("=" & "IF(ISNA(VLOOKUP($A6," & "'I:\CM\PC\A\TR\AT\"&TEXT(C$5,"yyyy")&"\"&TEXT(C$5,"mmmmmmmmmmm")&"\["&TEXT(C$5,"mmm")&TEXT(C$5,"d")&".xlsm]V

我有一个公式,它在从用户输入的日期绘制文件路径时构造了一个vlookup函数,接下来我有一个宏,它获取这个公式的结果并将它们粘贴到单元格C6中

=("=" & "IF(ISNA(VLOOKUP($A6," & "'I:\CM\PC\A\TR\AT\"&TEXT(C$5,"yyyy")&"\"&TEXT(C$5,"mmmmmmmmmmm")&"\["&TEXT(C$5,"mmm")&TEXT(C$5,"d")&".xlsm]Violations Count'!$A:$B"&",2,FALSE)),"""",VLOOKUP($A6,"&"'I:\CM\PC\A\TR\AT\"&TEXT(C$5,"yyyy")&"\"&TEXT(C$5,"mmmmmmmmmmm")&"\["&TEXT(C$5,"mmm")&TEXT(C$5,"d")&".xlsm]Violations Count'!$A:$B"&",2,FALSE))")
我遇到的麻烦是找到VBA激活公式的方法,而不是将其以文本格式放置在那里,如:

=IF(ISNA(VLOOKUP($A6,'I:\CM\PC\A\TR\AT\2016\December\[Dec5.xlsm]Violations Count'!$A:$B,2,FALSE)),"",VLOOKUP($A6,'I:\CM\PC\A\TR\AT\2016\December\[Dec5.xlsm]Violations Count'!$A:$B,2,FALSE))
之后,我会用宏自动填充A6:A37列之间的其他名称


如果有人能帮我激活VBA,我将不胜感激。

。evaluate函数可能就是您要查找的函数。使用它的最简单方法是将表达式包装在方括号[]中。

如果要获取可能包含文本字符串的单元格的值,请使用以下方法:

someVariableEtc = Range("A1").Value
Range("C6").Formula = "some text string"
Range("C6").Formula = Range("A1").Value
如果要使用VBA设置单元格的公式,可以使用以下方法:

someVariableEtc = Range("A1").Value
Range("C6").Formula = "some text string"
Range("C6").Formula = Range("A1").Value
将两者结合起来,你可以得出如下结论:

someVariableEtc = Range("A1").Value
Range("C6").Formula = "some text string"
Range("C6").Formula = Range("A1").Value

工作非常完美,每天都在用VBA学习新东西。哈哈,在过去的4周里,我一直在用它。谢谢你的链接!我将更深入地研究评估,看看它有什么可能。YowE3K的回答也解决了这个问题,供将来参考。