我正在尝试使用sumifs
生成一个名为“Details Sheet
”的工作表中特定列的总和,该工作簿基于检查“{{1}中的其他2列” }'匹配当前工作表中的值。
现在我有以下
details sheet
在宏的开头。
稍后在宏中,我将焦点切换到我正在处理的工作表/工作簿,并使用:
ThisWB = ActiveWorkbook.Name
这会产生错误。我尝试了其他各种方法来引用该表,但没有一种方法可以工作。
当我使用工作簿的全名(即Dim sheet As String
sheet = "'[" & ThisWB & "]Details Sheet'!"
Range("F3").Select
ActiveCell.FormulaR1C1 = _
"=SUMIFS(INDIRECT(sheet & ""$H:$H"")),INDIRECT(sheet & ""$D:$D"")),""=""&$B3,INDIRECT(sheet & ""$E:$E"")),""=""&$C3)"
)引用工作表时,它确实有效。
我在这里缺少什么?
答案 0 :(得分:0)
您需要Formula
属性而不是FormulaR1c1
并且您不需要INDIRECT,因为您在代码中进行连接,而不是公式本身:
Range("F3").Formula = _
"=SUMIFS(" & sheet & "$H:$H," & sheet & "$D:$D,""=""&$B3," & sheet & "$E:$E,""=""&$C3)"