0

如果 A 列中的单元格包含 0,我想隐藏工作表中的某些行。这是使用公式计算的。

例如,如果 A1 包含值“0”,则第 1 行应该被隐藏。

我知道我可以在工作表的激活事件上编写此代码,但它会降低文件的性能。

有没有一种在不影响文件性能的情况下实现相同目标的好方法?

4

1 回答 1

2

你总是可以filter用来实现这一点。我认为这样会更有效率。

编辑: 为了提高代码的性能,您可以执行以下操作:

  1. 关闭事件
  2. 关闭计算

在运行循环以隐藏行之前

With Excel.Application
    .ScreenUpdating = False
    .EnableEvents = False
    .Calculation = xlCalculationManual
    .Cursor = xlWait
End With

循环结束后

With Excel.Application
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = xlCalculationAutomatic
    .Cursor = xlDefault
End With

希望这可以帮助。同样明确地使用变量可以提高性能和计算。尽管明确声明您的变量也应该有所帮助。

于 2013-03-01T11:13:28.883 回答