Excel允许您同时打开许多工作簿,具体取决于系统上可用的内存量。对于某些人来说,一次打开十本,十五本,二十本或更多本工作簿并不罕见。

传统上,用于从一个工作簿切换到另一个工作簿的常规方法是激活“窗口”菜单,然后从菜单中显示的菜单中选择所需的工作簿。如果打开了九个以上的工作簿,则Excel将显示一个菜单选项,显示“更多Windows”,您可以选择显示所有打开的工作簿的列表。

从此列表中选择一个工作簿将最终显示该工作簿。

如果您经常使用许多打开的工作簿,则重复单击Window |更多Windows,然后选择要查看的工作簿。如果所有工作簿都列出,然后您可以从列表中进行选择,那将容易得多。不幸的是,Excel不允许您在Windows菜单中显示九个以上的工作簿。 (九个数字似乎是一个相当随意的数字,但是Microsoft必须在某个地方设置一个限制。九个数字与任何其他任意限制一样好。)但是,您可以使用一些解决方法。

第一种解决方法是简单地更好地利用Windows任务栏。首先,配置Excel,以便它为每个打开的工作簿显示一个任务栏按钮:

。从工具菜单中选择选项。 Excel将显示“选项”对话框。

。确保显示了“查看”选项卡。

。确保选中“任务栏中的Windows”复选框。

。单击确定。

现在,当您打开其他工作簿时,Excel将为每个工作簿显示一个任务栏按钮。这意味着,如果您有二十个打开的工作簿,则在任务栏上将看到二十个按钮。当然,每个任务栏按钮都将很小,并且您可能无法在每个按钮上分辨出工作簿的名称。您可以通过简单地增大任务栏来帮助缓解此问题:将鼠标指针移到任务栏的顶部边框上。单击边框并将其向上拖动。这使您可以为任务栏指定两行,三行或更多行。

然后,各个按钮将重新定位自己以适应增加的任务栏空间,从而变得更大。

随着任务栏的放大和对应于每个打开的工作簿的可用按钮的使用,不再需要下拉窗口菜单从一个工作簿切换到另一个工作簿。您需要做的就是单击适当的任务栏按钮。

如果您不想扩大任务栏,使其占用更多行,则可以使用Excel的任务切换功能。反复按Tab键可从一个窗口切换到另一个窗口,只需按住Alt键即可。选择所需的工作簿窗口后,松开Alt键,并显示实际的工作簿。

如果您不想摆弄任务栏或为每个工作簿只用一个按钮弄乱它,则需要开发宏以显示工作簿列表,允许您选择一个,然后在其中进行切换。最有效的方法是创建一个UserForm并将几个宏附加到该UserForm。请按照下列步骤操作:

。确保已创建一个Personal.xls文件以包含您的公共宏。 (_ExcelTips的其他问题中已经讨论了如何做到这一点。)

。按Alt + F11以显示VBA编辑器。

。确保在“对象浏览器”窗口中选择了Personal.xls工作簿。 (VBA编辑器的左上角。)

。从插入菜单中选择用户窗体。屏幕中央将出现一个新的用户窗体。

。使用VBA编辑器左侧的工具箱,在用户窗体上放置一个ListBox控件。该控件将保存打开的工作簿的列表。 (可以随意将ListBox设置为所需的大小。)

。向用户窗体添加所需的任何其他项,例如解释文本等。

。将用户窗体的大小调整为想要显示的大小。

。用鼠标右键单击用户窗体(不在列表框上),然后从上下文菜单中选择查看代码。然后,您将看到UserForm的“代码”窗口。

。用以下代码替换“代码”窗口中的所有内容:

。从插入菜单中选择模块。新模块的“代码”窗口出现。

。将以下代码添加到模块的“代码”窗口中:

。关闭VBA编辑器,然后按Alt + Q返回Excel。

进入Excel后,您可以将AllWindows宏分配给工具栏按钮或菜单项。当您单击按钮或选择菜单选项时,将显示UserForm,其中显示了所有打开的工作簿。然后,您可以选择一个,用户窗体消失,并显示所选的工作簿。

注意:

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

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

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