Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 在sumifs公式中使用工作簿名称_Excel_Vba - Fatal编程技术网

Excel 在sumifs公式中使用工作簿名称

Excel 在sumifs公式中使用工作簿名称,excel,vba,Excel,Vba,我正在尝试使用sumifs生成不同工作簿中名为“Details sheet”的工作表中特定列的总和,检查“Details sheet”中的其他两列是否与当前工作表中的值匹配。 现在我有以下几点 ThisWB = ActiveWorkbook.Name 在宏的开头 在宏的后面部分,我将焦点切换到工作表/工作簿,并使用: Dim sheet As String sheet = "'[" & ThisWB & "]Details Sheet'!" Range("F3").Selec

我正在尝试使用
sumifs
生成不同工作簿中名为“
Details sheet
”的工作表中特定列的总和,检查“
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)"
这会产生一个错误。我尝试过其他各种方法来参考这张表,但没有一种有效

当我引用带有工作簿全名的工作表时,即
[workbook1]详细信息工作表!'$D:$D
,确实有效


这里缺少什么?

您需要
公式
属性,而不是
公式1c1
,并且不需要间接,因为您在代码中进行串联,而不是公式本身:

Range("F3").Formula = _
    "=SUMIFS(" & sheet & "$H:$H," & sheet & "$D:$D,""=""&$B3," & sheet & "$E:$E,""=""&$C3)"

为什么你需要间接的在那里?我也尝试过没有间接的,但那不起作用。间接引用允许我使用文本创建引用,这似乎是该引用的逻辑用法,请检查:。