安德鲁需要在其宏中显示一个对话框,该对话框允许用户切换窗口。当某人显示功能区的“查看”选项卡并单击“切换Windows”工具时,它将显示用户可以切换到的可用工作簿。这些是Andrew需要在对话框中显示的内容。他想知道是否有内置对话框可以执行此操作,或者是否需要创建自己的对话框。

简短的答案是没有内置对话框可以完成此任务。但是,您可以轻松创建自己的。这是一个简单的示例:

Sub SwitchWindows()

Dim i As Integer     Dim n As Integer     Dim s As String     Dim v As Variant

n = Windows.Count     s = "Choose Window from:"

For i = 1 To n         s = s & Chr(10) & i & ")  " & Windows(i).Caption     Next     s = s & Chr(10) & "Enter a number from 1 to " & n     v = Application.InputBox(prompt:=s, Type:=2)

i = Val(v)

If i >= 1 And i <= n Then         Windows(i).Activate     End If End Sub

这一切都是为系统中每个窗口创建一个名称列表。它将它们显示在InputBox中,然后切换到用户选择的任何窗口。

如果您正在寻找不同的方式来呈现相同的信息,则可以`link:/ excelribbon-Seeing_All_Open_Workbook_Names [参考本技巧]`。

注意:

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

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

本技巧(11911)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-Switching_Windows_in_a_Macro [在宏中切换Windows]。