VBA中的Sumif将不接受方程式(接受为string)

我试图利用一个SumIf函数迭代一个名称表,并将归于每个名称的所有“性能节省”汇总到一个单独的数据表中。

我的代码如下。 当我运行macros时,它在SumIf行崩溃。 当我在SumIf函数之前删除'='字符来将string赋值为一个string而不是公式时,macros运行正常,string正是我所希望的。 我不知道为什么它会崩溃时,我使SumIf行公式。

我曾试图引用类似的历史线索,但没有成功。 感谢任何帮助,我可以收到!


Dim tempStr As String For y = 1 To (b - 3) ActiveSheet.Cells((a + 1 + y), 1).Select tempStr = ActiveCell.Value Sheets("Pivot").Cells((a + 1 + y), 5).FormulaR1C1 = _ "=SUMIF('Performance Savings'!$B$2:$B$200," & Chr(34) & tempStr & Chr(34) & ",'Performance Savings'!$C$2:$C$200) " Next y 

你需要把值放在ab中

基因的答案不是很清楚,但他暗指事实上,你应该使用.Formula语法而不是R1C1 。 此外,作为一般的经验法则,你不应该使用Select方法 。

 Dim tempStr As String For y = 1 To (b - 3) tempStr = ActiveSheet.Cells((a + 1 + y), 1).Value Sheets("Pivot").Cells((a + 1 + y), 5).Formula = _ "=SUMIF('Performance Savings'!$B$2:$B$200," & Chr(34) & tempStr & Chr(34) & ",'Performance Savings'!$C$2:$C$200) " Next y