2014-05-06 41 views
0

我有一列销售金额列表,然后是附近的另一列,显示它是销售的“YOR”还是退货的“RE”,我想汇总美元YOR的数字。SUMIF方程在工作表中不与VBA一起工作

我有一个方程式,我试图用宏插入到工作表中。当您运行宏时,H16中有一个单元格应该填写总结销售号码

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

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

当我点击了在VBA方程它说:“编译错误”预期:语句结束”,并强调这是什么括号内:‘C3)’]

我已经试图改变“YOR”到=“YOR”和“= YOR”但是,这并不能改变什么。

任何帮助将是真棒!

谢谢!

回答

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.在最后添加缺少的"

+0

感谢您的帮助,完美的工作。我很惊讶我错过了第一个“=”,但是在我工作时这已经很晚了 – NumberJuan

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”

+0

谢谢。这很有用,我将用这种方法重写一些内容。 – NumberJuan