首页 > 解决方案 > VBA:哪个代码更有效地取消隐藏工作表?

问题描述

我正在努力更好地理解 VBA,并确保我的代码尽可能高效,即使它只是微小的差异。

下面我有两个工作程序可以在工作簿中取消隐藏 Sheets 4 及更高版本。这两种方法看起来都很简单,但我很好奇从流程的角度来看哪一种更有效,如果可能的话,你能解释一下为什么一种优于另一种吗?

For i = 4 To Worksheets.Count
    ActiveWorkbook.Worksheets(i).Visible = True
Next

对比

For Each ws In ActiveWorkbook.Worksheets
    If ws.Index > 3 Then
        ws.Visible = xlSheetVisible
    End If
Next

标签: vbaexcel

解决方案


您是否尝试过对每个进行计时以查看哪个工作得更快?一个简单的定时器如下:

Dim a as Double, b as Double

a = Timer

‘Your code goes in here

b = Timer

msgbox b - a

推荐阅读