Как проверить, открыта ли книга через vba?

Чтобы проверить, открыта ли книга с помощью любого кода VBA, вам необходимо использовать цикл FOR EACH , который может перебирать все книги, открытые в данный момент, и проверять имя каждой книги с указанным вами именем. Вы можете использовать окно сообщения , чтобы получить результат цикла. Или вы также можете ввести код для ввода результата в ячейку.

Проверьте, открыта ли рабочая книга

  1. Во-первых, вам нужно объявить переменные , которые будут использоваться в коде для создания цикла.
    create a loop
  2. Используйте поле ввода, чтобы получить имя книги, которую вы хотите найти.
    use an input box
  3. Запустите цикл для просмотра всех открытых книг.
    start the loop to loop
  4. Напишите код с помощью IF STATEMENT , чтобы сверить имя книги с именем, которое вы ввели в поле ввода, и как только имя совпадет, книга активируется, отображается окно сообщения о том, что книга найдена, и завершается процедура.
    code with if statement
  5. В конце завершите цикл и используйте окно сообщения для отображения окна сообщения, если ничего не найдено.
    end the loop and use a message box

Полезные ссылки: Запуск макросаСредство записи макросовРедактор 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