使用VBA将公式设置到单元格时types不匹配
Worksheets("sheet2").Range("C2").Formula = "=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A," >= "&A2,Sheet1!A:A," < "&B2)"
我已经在Excel 2007中运行上面的代码,我得到了一个
运行时错误13types不匹配
上面的代码用于从表单1中进行平均操作,并在表单2中input。我需要一些帮助来纠正错误。
问题是你需要用另一个引号来避开引号。 这意味着公式中的所有引号变成""
。
如果该单元格中的公式应该是
=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A,">=" & A2,Sheet1!A:A,"<" & B2)
你把它放在一个双引号之间的string" your formula here "
,那么你需要转义公式中的所有引号,并将"
变成""
如下所示:
Worksheets("sheet2").Range("C2").Formula = _ "=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A,"">="" & A2,Sheet1!A:A,""<"" & B2)"
另一种select是使用Chr(34)
而不是"
。
Worksheets("sheet2").Range("C2").Formula = _ "=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A," & Chr(34) & ">=" & Chr(34) & " & A2,Sheet1!A:A," & Chr(34) & "<" & Chr(34) & " & B2)"
这在技术上是相同的,但在这种情况下不是非常可读的。