2013-03-01 107 views
0

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

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

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

有没有一种不损害文件性能的好方法?

回答

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 

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

+0

是的,但我不希望用户看到数据被过滤,也不想让他们更改数据过滤器。是否有可能使用代码? – Tejas 2013-03-01 11:20:07

+0

你可以请你发布你的隐藏行代码吗? – Konstant 2013-03-01 11:36:25

+0

没有答案 - 应该已经发表评论 – brettdj 2013-03-01 11:59:50

相关问题