Excel - 在forumla范围之外添加一行

时间:2016-06-22 16:51:38

标签: excel excel-vba excel-formula spreadsheet vba

目前我在工作表中设置了几个SUM函数。

让我的例子使用H2:H34:如果我在该范围内添加一行,sum函数将自动调整。问题是当我添加新行时,它低于范围(低于H:33)。在这种情况下,我只需要突出显示列并将范围扩展/拖动到需要的位置。总共有8列正在执行求和功能。这只能通过使用宏来实现吗?

=SUBTOTAL(3,H2:H34)

3 个答案:

答案 0 :(得分:1)

您可以使用命名范围,例如= sum(range1)等等;

Select first empty cell in column F starting from row 1. (without using offset )

找到第一个空单元格来更改指定范围的引用。

触发它会很困难......可能会使用on_save?

或选项2 ......躲闪,但可以工作......

你说你的总和是在单元格H35中...可能会将其移动到h36,并在35(0.1行高)中创建一个虚拟隐藏行。这样当你添加一行时,它总是高于35.使用和H1:H35它会一直自动更新?它不是一个简洁的解决方案,但应该工作

答案 1 :(得分:1)

使用以下代码,您需要将列“H”调整为您需要的任何列。

Dictionary<String, Parameter> param = new Dictionary<String, Parameter>();           
foreach ( string parameterName in myParams)
{                                
    param[parameterName] = new parameter();                     
    param[parameterName].Description = parameterName;
    Parameters.Add(param[parameterName]);
}

答案 2 :(得分:1)

如果您的公式是范围减去一行的范围,我们可以使用它:

=SUBTOTAL(3,H2:INDEX(H:H,ROW()-1))

现在,当添加或删除行时,引用将保持不变。

如果有可能删除第2行,您将收到#Ref错误。为避免这种情况,您可以使用以下公式:

=SUBTOTAL(3,INDEX(H:H,2):INDEX(H:H,ROW()-1))

现在没有特定的单元格引用,添加或删除不会影响公式,范围将是动态的。

enter image description here

enter image description here