工作表中的SUMIF等式不适用于VBA

时间:2014-05-06 22:54:44

标签: excel vba excel-vba

我在一列中列出了$ sale金额,然后在其附近显示另一列,显示它是销售的“YOR”还是返回的“RE”,我想要总结YOR的美元数字。

我有一个等式,我试图使用宏插入到工作表中。当您运行宏时,H16中有一个单元格应填写所得的总销售数量

有一个名为CellNumber(Long)的变量,它包含列表中的项目数。 VA05NDump是包含数据的工作表的名称。

Range("H16").FormulaR1C1 = "SUMIF((VA05NDump!R2C3:VA05NDump!R"&CellNumber&"C3),"YOR",R2C13:R"&CellNumber&"C13)

当我点击VBA中的等式时,它会说“编译错误”:语句结束“并突出显示此括号内的内容:[”C3),“]

我已经尝试将“YOR”改为=“YOR”和“= YOR”,但这并没有改变任何东西。

任何帮助都会很棒!

谢谢!

3 个答案:

答案 0 :(得分:2)

试试这个:

Range("H16").FormulaR1C1 = "=SUMIF((VA05NDump!R2C3:VA05NDump!R" & CellNumber & _
    "C3),""YOR"",R2C13:R" & CellNumber & "C13)"

<强>修订:
1.预先添加=签名。
2.在此部分中双引号YOR"C3),""YOR"",R2C13:R"Read this讨论了将双引号应用于""中适用于工作表公式的所有字符串的方法。
3.在最后添加了缺少的"

答案 1 :(得分:1)

您在结尾处错过了结束",而在公式的开头可能只有=

答案 2 :(得分:1)

这是我之前在单元格中输入公式的方法。 通过将公式作为字符串输入单元格来完成。

'Make Formula into a string
Dim Formula As String
Formula = "=SUMIF((VA05NDump!R2C3:VA05NDump!R" & CellNumber & _
           "C3)," & chr(34) & "YOR" & chr(34) & ",R2C13:R" & CellNumber & "C13)"

'Activate the desired range
Range("H16").Activate

'Enter formula string into active cell
ActiveCell = Formula 

同时&#34; Chr(34)&#34;可以用作&#34;。我发现这有助于创建一个字符串    chr(34)&amp; &#34; YOR&#34; &安培; chr(34)=&#34;&#34; YOR&#34;&#34;因此,当它进入单元格时,它就会成为&#34; YOR&#34;