首页 文章

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

提问于
浏览
0

我在一列中列出了$ 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 回答

  • 2

    试试这个:

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

    Revisions:
    1.预先添加 = sign .
    2.在本部分中双引 YOR"C3),""YOR"",R2C13:R" . Read this讨论了如何将双引号应用于 "" 中的所有字符串,以用于工作表公式 .
    3.在最后添加了缺少的 " .

  • 1

    你错过了收盘 " ,可能是公式开头的 = .

  • 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
    

    另外“Chr(34)”可以用作“ . 我发现这有助于创建一个字符串,其中chr(34)&”YOR“&chr(34)=”“YOR”“所以当它进入单元格时成为“YOR”

相关问题