Как проверить, открыта ли книга через vba?
Чтобы проверить, открыта ли книга с помощью любого кода VBA, вам необходимо использовать цикл FOR EACH , который может перебирать все книги, открытые в данный момент, и проверять имя каждой книги с указанным вами именем. Вы можете использовать окно сообщения , чтобы получить результат цикла. Или вы также можете ввести код для ввода результата в ячейку.
Проверьте, открыта ли рабочая книга
- Во-первых, вам нужно объявить переменные , которые будут использоваться в коде для создания цикла.
- Используйте поле ввода, чтобы получить имя книги, которую вы хотите найти.
- Запустите цикл для просмотра всех открытых книг.
- Напишите код с помощью IF STATEMENT , чтобы сверить имя книги с именем, которое вы ввели в поле ввода, и как только имя совпадет, книга активируется, отображается окно сообщения о том, что книга найдена, и завершается процедура.
- В конце завершите цикл и используйте окно сообщения для отображения окна сообщения, если ничего не найдено.
Полезные ссылки: Запуск макроса – Средство записи макросов – Редактор Visual Basic – Персональный справочник по макросам
Вот полный код.
Sub vba_check_workbook() Dim WB As Workbook Dim myWB As String myWB = InputBox(Prompt:="Enter the workbook name.") For Each WB In Workbooks If WB.Name = myWB Then WB.Activate MsgBox "Workbook Found!" Exit Sub End If Next WB MsgBox "Not Found" End Sub