gpt4 book ai didi

excel - 检测自动过滤器更改

转载 作者:行者123 更新时间:2023-12-04 22:01:54 25 4
gpt4 key购买 nike

我正在寻找检测特定表上自动过滤器中的任何更改,以强制 UDF 对当前可见的表条目执行一些简单的算术以更新其结果。到目前为止,使 UDF volatile 没有任何影响,但它也没有直接针对表。

这个解决方案( https://stackoverflow.com/a/15906275/4604845 )对我不起作用,可能是因为我只有手动计算。

我有点太脏的解决方法是 Workbook_SelectionChange ,虽然 UDF 不会以这种方式杀死资源消耗,但我宁愿避免它,以防数据变得更大。此外,我有一些用户在使用计算机方面完全是新手,我无法确信我能让他们所有人都明白他们需要在更新自动过滤器后单击其他内容才能使结果正确。

有任何想法吗?我试过Workbook_ChangeWorkbook_Calculate但它们都没有被自动过滤器更改触发(或者我不知道如何触发它们)。

最佳答案

即使您在工作表上没有其他公式,如果您在引用表格的工作表的某处包含 Subtotal() 公式,则每次更改自动过滤器时都会重新计算 Subtotal()。

您可以使用它来触发Calculate() 事件宏。

编辑#1:

假设我们在列 上设置了自动过滤器一个 名为数据的工作表。工作表数据还包含许多其他公式。如果我们在数据工作表中使用 Calculate() 事件,我们将随时触发 任意 这些公式重新计算。

我们创建一个名为触发器的新工作表。这个新工作表完全为空,除了一个包含以下内容的单元格:

=SUBTOTAL(3,data!A1:A20)

我们在触发器工作表中放置了Calculate() 事件宏。

现在,如果我们使用数据工作表,我们可以进行任意更改并执行各种重新计算并且不会触发任何事件,但是如果我们更改 AutoFilter,触发器上的事件宏将看到更改并触发!

关于excel - 检测自动过滤器更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33081249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com