Как активировать книгу excel через vba?

Когда вы работаете с несколькими книгами одновременно, я имею в виду, что когда у вас одновременно открыто несколько книг, вам необходимо знать метод, который поможет вам активировать книгу, над которой вы хотите работать.

активировать рабочую книгу

Чтобы активировать книгу с помощью VBA, необходимо использовать метод Workbook.Activate. В этом методе вам необходимо указать имя книги, используя объект Workbook. Он также позволяет использовать номер книги вместо имени книги, но вы можете ссылаться только на открытые книги.

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

Действия по активации книги

тип связующих
  1. Введите «Binders», чтобы использовать объект подшивки.
  2. Укажите имя книги в двойных кавычках.
  3. Введите точку (.), чтобы получить список свойств и методов.
  4. Выберите метод Активировать из списка или вы также можете ввести его.
  5. В конце запустите код, чтобы активировать книгу.
 Sub vba_activate_workbook() Workbooks("Book3").Activate End Sub

Примечание. Если вы попытаетесь активировать закрытую книгу, VBA отобразит ошибку.

vba-покажет-ошибку

Связанный: Активируйте электронную таблицу с помощью VBA

Полезные ссылки: Запуск макросаСредство записи макросовРедактор Visual BasicПерсональный справочник по макросам

Активировать книгу с помощью номера

Если у вас открыто несколько книг, все эти книги становятся частью коллекции книг и имеют номер, на который вы можете ссылаться, а затем использовать с ним метод активации. Вот код:

 Sub vba_activate_workbook() Workbooks(2).Activate End Sub
активировать-связующее-с помощью номера

А если вы попытаетесь активировать книгу, используя несуществующий номер, VBA покажет вам ошибку времени выполнения «9» (индекс вне диапазона).

vba-will-show-run-time-error-9

Активировать эту книгу

Вы можете обратиться к книге, в которой пишете код, используя свойство ThisWorkbook. Допустим, у вас одновременно открыто пять книг, но вы работаете над «Book1.xlsm», поэтому при запуске следующего кода он активирует «Book1.xlsm».

 Sub vba_activate_workbook() ThisWorkbook.Activate End Sub

Проверьте перед активацией книги

Как я уже сказал, когда вы пытаетесь активировать закрытую книгу, VBA показывает ошибку. Чтобы решить эту проблему, лучше всего сначала проверить имя книги (открыта она или нет), а затем активировать ее.

 Sub vba_activate_workbook() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "Book3.xlsx" Then wb.Activate MsgBox "Workbook found and activated" Exit Sub End If Next wb MsgBox "Not found" End Sub

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

Комментарии

  • При использовании имени книги убедитесь, что вы используете правильное расширение файла.
  • Если вы хотите активировать книгу, которая еще не сохранена, вы должны использовать только имя этой книги без суффикса расширения файла.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *