隐藏基于单元格数据的行

时间:2013-03-01 11:07:45

标签: excel excel-vba vba

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

E.g。如果A1包含值“0”,则行#1应该隐藏。

我知道我可以在Sheet的Activate Event上编写这段代码,但它会降低文件的性能。

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

1 个答案:

答案 0 :(得分:2)

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

修改 要提高代码的性能,您可以执行以下操作:

  1. 关闭活动
  2. 关闭计算
  3. 在运行循环之前隐藏行

    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
    

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