将公式设置到具有 VBA 的单元格时类型不匹配
Type mismatch when setting a formula into a cell with VBA
Worksheets("sheet2").Range("C2").Formula = "=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A," >= "&A2,Sheet1!A:A," < "&B2)"
我在 Excel 2007 年有 运行 上面的代码,我得到了一个
run time error 13 type mismatch
上面的代码是用来从sheet1做平均运算,然后输入sheet2,求大家帮忙改正错误。
问题是您需要用另一个引号转义引号。这意味着公式中的所有引号 "
变为 ""
.
如果该单元格中的公式应为
=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A,">=" & A2,Sheet1!A:A,"<" & B2)
并将其放入双引号 " your formula here "
之间的字符串中,然后您需要转义公式中的所有引号并将 "
更改为 ""
,如下所示:
Worksheets("sheet2").Range("C2").Formula = _
"=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A,"">="" & A2,Sheet1!A:A,""<"" & B2)"
另一种选择是使用 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)"
这在技术上是相同的,但在这种情况下可读性不强。
Worksheets("sheet2").Range("C2").Formula = "=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A," >= "&A2,Sheet1!A:A," < "&B2)"
我在 Excel 2007 年有 运行 上面的代码,我得到了一个
run time error 13 type mismatch
上面的代码是用来从sheet1做平均运算,然后输入sheet2,求大家帮忙改正错误。
问题是您需要用另一个引号转义引号。这意味着公式中的所有引号 "
变为 ""
.
如果该单元格中的公式应为
=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A,">=" & A2,Sheet1!A:A,"<" & B2)
并将其放入双引号 " your formula here "
之间的字符串中,然后您需要转义公式中的所有引号并将 "
更改为 ""
,如下所示:
Worksheets("sheet2").Range("C2").Formula = _
"=AVERAGEIFS(Sheet1!E:E,Sheet1!A:A,"">="" & A2,Sheet1!A:A,""<"" & B2)"
另一种选择是使用 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)"
这在技术上是相同的,但在这种情况下可读性不强。