【问题标题】:Excel Filter not updatingExcel 过滤器未更新
【发布时间】:2022-01-18 04:25:27
【问题描述】:

我有一个名为“数据”的工作表,其中包含随后在其他工作表中引用的各种条目。

data R1 中,当我使用 VBA 更新工作表时,我有一个过滤器似乎没有更新。 过滤器是:

=FILTER( Sites!C:C & " - " & Sites!B:B, LEFT(Sites!C:C, 2) = "NW")

如果我手动更新站点工作表,过滤器会看到新结果。但如果我使用 VBA 更新工作表,过滤器不会显示新结果。

这就是我更新网站工作表的方式

ThisWorkbook.Sheets("Sites").Cells(destRow, 2) = valA
ThisWorkbook.Sheets("Sites").Cells(destRow, 3) = valB
ThisWorkbook.Sheets("Sites").Cells(destRow, 4) = valB

是否应该像上面那样更新工作表来更新过滤器?它似乎要么恢复为空,要么使用最后的值。

我不确定这在我的 VBA 中是否重要

Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False

如何让过滤器正确更新?

谢谢

【问题讨论】:

  • Application.Calculation = xlCalculationManual - 是的,这很重要,因为您关闭了自动计算公式。
  • 关闭保存后,您将不会保留新结果。
  • 谢谢。注释掉这两个条目,这确实允许它工作。但是工作表的更新需要更长的时间。有什么办法可以保留它,然后强制过滤器更新?

标签: excel filter


【解决方案1】:

如 cmets 中所述:

Application.Calculation = xlCalculationManual
Application.CalculateBeforeSave = False

做事;他们已禁用自动计算,并在保存前关闭了计算。

您可以只在特定工作表或范围上调用Calculate

ThisWorkbook.Worksheets("Data").Calculate

ThisWorkbook.Worksheets("Data").Rows(1).Calculate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-10
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 2011-01-31
    • 1970-01-01
    相关资源
    最近更新 更多