在VBA for Excel中使用小计公式

时间:2015-02-12 15:34:22

标签: excel-vba vba excel

我有一个VBA过程,它从数据库中提取一些数据,将其转储到工作表中,添加一个标题行,将所有数据转换为表。这一点工作得很好。返回的数据具有不确定的行数。我需要做的是在最后添加一个摘要行。我想通过使用小计函数来计算未知表长度:例如SUBTOTAL(109,[5 year total])

问题是我得到了

Run-time error '1004': Application-defined or object-defined error

此代码有效

Range(upperleft).End(xlDown).Offset(1, 6).Value = "Test cash 5 year total"

此代码抛出错误

Range(upperleft).End(xlDown).Offset(1, 6).Formula = "=SUBTOTAL(109,[cash: 5 year total])"

upperleft变量是表格的左上角单元格。它似乎与我用于公式/值的字符串有关,因为如果我尝试将公式设置为这样的值

Range(upperleft).End(xlDown).Offset(1, 6).Value= "=SUBTOTAL(109,[cash: 5 year total])"

我得到了同样的错误

1 个答案:

答案 0 :(得分:1)

你所拥有的公式应该可以在作为表的一部分的Totals Row中工作,但如果没有,则需要包含表名:

=SUBTOTAL(109,Table1[cash: 5 year total])

例如