Эндрю необходимо отобразить в своем макросе диалоговое окно, позволяющее пользователю переключать окна. Когда кто-то отображает вкладку «Просмотр» на ленте и щелкает инструмент «Переключить Windows», он показывает доступные книги, на которые пользователь может переключиться. Это то, что нужно Эндрю, чтобы отобразить в диалоговом окне. Он задается вопросом, есть ли для этого встроенное диалоговое окно или ему нужно создать свое собственное.

Короткий ответ: нет встроенного диалогового окна для выполнения этой задачи. Однако вы можете легко создать свой собственный. Вот простой пример:

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

Все, что это делает, — это создание списка имен для каждого окна в вашей системе. Он представляет их в поле ввода, а затем переключается на любое окно, выбранное пользователем.

Если вы ищете разные способы представления одной и той же информации, вы можете link: / excelribbon-Seeing_All_Open_Workbook_Names [см. Этот совет].

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11911) применим к Microsoft Excel 2007, 2010, 2013 и 2016.

Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Switching_Windows_in_a_Macro [Переключение Windows в макросе].