我正在尝试利用SumIf函数迭代一个名称表,并总结所有" Performance Savings"归因于单独数据表中的每个名称。
我的代码如下。当我运行宏时,它在SumIf行上崩溃。当我删除' ='在SumIf函数之前的字符将cellvalue指定为字符串而不是公式,宏运行正常,字符串正是我想要的。我不确定为什么当我将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
答案 0 :(得分:0)
您需要将值放在 a 和 b
中答案 1 :(得分:0)
Gene的答案不是很明确,但他暗示你应该使用.Formula
语法而不是R1C1
。另外,作为一般经验法则,您应该Never use the Select method。
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