Excel 插入行时防止公式引用更新

Excel 插入行时防止公式引用更新,excel,vba,locking,Excel,Vba,Locking,我把这个公式写进了我的表格里 =COUNTIFS(Liste!B2:B504;"*";Liste!E2:E504;"*14*") 我还有一个VBA脚本,可以自动将一行添加到Sheet[Liste]中。这导致我的公式也在更新——但我不希望发生这种情况 如何锁定字段,使其在VBA脚本运行时不会将B2:B504更改为B3:B505?如果在引用列和行之前添加$,则不会更改。例如: =COUNTIFS(Liste!$B$2:$B$504;"*";Liste!$E$2:$E$504;"*14*") 在建

我把这个公式写进了我的表格里

=COUNTIFS(Liste!B2:B504;"*";Liste!E2:E504;"*14*")
我还有一个VBA脚本,可以自动将一行添加到Sheet[Liste]中。这导致我的公式也在更新——但我不希望发生这种情况


如何锁定字段,使其在VBA脚本运行时不会将B2:B504更改为B3:B505?

如果在引用列和行之前添加
$
,则不会更改。例如:

=COUNTIFS(Liste!$B$2:$B$504;"*";Liste!$E$2:$E$504;"*14*")

在建立公式时,应该使用间接法。 例:=总和(间接(“A:A”))


这会将间接内的范围读取为文本,因此excel不会更新参考范围

以及下面提供的答案。这篇文章可能会有所帮助。这行吗?当然,如果我在工作表中输入该公式,然后在第504行之前的任意位置手动添加一行,则范围会发生变化。通常,插入/删除行时,绝对范围不会固定范围。如果您更改公式以便使用整列引用,那么这可能会为您提供所需的信息need@barryhoudini如果使用绝对引用插入一行,公式不会改变。好的,我现在只是在显示我的无知,如何使用绝对引用插入一行,这是一个仅在VBA中可用的选项吗?@barryhoudini它在VBA(通过在公式中添加
$
)和工作表中都可用。您可以手动添加
$
,也可以在键入公式时按F4键。好的,对不起,忽略我的最后一条评论,我认为我们的目的不同。如果我在Sheet2中输入此公式-
=COUNTIF(Sheet1!$A$2:$A$100,“x”)
然后在Sheet1中的第1行插入一行,则Sheet2中的公式更改为:=COUNTIF(Sheet1!$A$3:$A$101,“x”)-在这种情况下,具有$符号并不能阻止范围的更改。