宏通常用于处理工作簿中的信息。您的宏可以访问工作簿中的任何单元格,除非隐藏了包含该单元格的工作表。当您隐藏工作表时,它甚至对于正常的宏操作也被隐藏。

这样的结果是,如果您要运行宏并让其访问隐藏工作表中的信息,则必须首先“取消隐藏”工作表。为此,请在宏中使用以下代码行:

Sheets("My Hidden Sheet").Visible = True

执行此行后,名为My Hidden Sheet的工作表将不再被隐藏。然后,可以使用Selection对象或Select方法轻松访问它。当您以后准备再次隐藏工作表时(完成处理后),请使用以下代码行:

Sheets("My Hidden Sheet").Visible = False

当然,取消隐藏和以后隐藏工作表可能会导致屏幕上闪烁很多,因为Excel会根据宏中执行的命令尝试更新其屏幕显示。如果要避免这种情况,请在宏的开头使用以下代码行:

Application.ScreenUpdating = False

以这种方式关闭屏幕更新后,没人会知道您取消隐藏工作表,然后再隐藏它。但是,请确保在结束宏之前,将ScreenUpdating属性设置回True。

同样要记住,Selection对象(和Select方法)不是访问信息的唯一方法。如果改为依靠范围(使用Range方法或使用Range方法定义对象),则可以轻松访问隐藏工作表上的信息,而无需使其可见。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2548)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: