Vba как сделать активной книгу

Vba как сделать активной книгу

Открытие книги Excel из кода VBA. Создание новой книги, присвоение ей имени. Обращение к открытой книге и закрытие. Методы Open, Add и Close объекта Workbooks.

Открытие существующей книги

Существующая книга открывается из кода VBA Excel с помощью метода Open:

В кавычках указывается полный путь к открываемому файлу Excel. Если такой файл не существует, произойдет ошибка.
Проверить существование файла можно с помощью функции Dir:

Или, если файл существует, можно сразу его открыть:

Создание новой книги

Новая рабочая книга Excel создается в VBA с помощью метода Add:

Созданную книгу, если она не будет использоваться как временная, лучше сразу сохранить:

В кавычках указывается полный путь сохраняемого файла Excel, включая присваиваемое имя, в примере — это «test2.xls».

Обращение к открытой книге

Обращение к активной книге:

Обращение к книге с выполняемым кодом:

Обращение к книге по имени:

Обратиться по имени можно только к уже открытой книге, а чтобы из кода VBA Excel книгу открыть, необходимо указать полный путь к файлу.

Как закрыть книгу Excel из кода VBA

Открытая рабочая книга закрывается из кода VBA Excel с помощью метода Close:

Если закрываемая книга редактировалась, а внесенные изменения не были сохранены, тогда при ее закрытии Excel отобразит диалоговое окно с вопросом: Вы хотите сохранить изменения в файле test1.xlsx? Чтобы файл был закрыт без сохранения изменений и вывода диалогового окна, можно воспользоваться параметром метода Close — SaveChanges:

Закрыть книгу Excel из кода VBA с сохранением внесенных изменений можно также с помощью параметра SaveChanges:

Часто бывает, что надо получить данные из другой, открытой вместе с используемой, книги Excel.

Данная функция помогает получить ссылку на другую, открытую в текущий момент, книгу:

  • 29681 просмотр
Читайте также:  Mtd устройства в ноутбуке что это

Комментарии

PS: Ваш код слишком плох, чтобы использовать его во внешнем макросе (много лишнего с коде, — обратите внимание, я из вашего кода сделал одну строку)
И ещё, — копируя столбцы целиком, — я не понимаю, как из можно вставить, начиная с ячейки A2 (столбцы по высоте не влезут) — потому исправил A2 на A1

А скажите как после выбора файла выполнить следующие действия:
Columns("A:J").Select
Range("J1").Activate
Selection.Copy
Selection.Copy
Windows("Книга5.xlsm").Activate
Range("A2").Select
ActiveSheet.Paste
добавляю после строки ‘ . ничего не происходить, работает макрос не на выбраном мною файле, а на открытом Книга5, а мне нужно из файла Книга2 скопировать данные в книгу5

Классно работает. Вставила в свой код. Давно не хватало мне этого. Я из одного файла заполняю каждый раз новые файлы. И все время прописывала в коде названия файлов, а теперь красота: Открываю заранее и при работе макроса выбираю нужный. Спасибо!!

Извиняюсь код работает — ошибка при копировании. Игорь.

Скопировал я данный код в модуль, половина кода отмечается как ошибка (красным). Возникает вопрос зачет такие коды предлагать как примеры? Игорь.

Чтобы создать книгу в Visual Basic, используйте метод Add . To create a workbook in Visual Basic, use the Add method. Следующая процедура создает книгу. The following procedure creates a workbook. Microsoft Excel автоматически называет книгу n, где n — это следующий доступный номер. Microsoft Excel automatically names the workbook Book N, where N is the next available number. Новая книга становится активной книгой. The new workbook becomes the active workbook.

Лучший способ создать книгу — назначить ей объектную переменную. A better way to create a workbook is to assign it to an object variable. В следующем примере объект книги , возвращенный методом Add , назначается объектной переменной newBook . In the following example, the Workbook object returned by the Add method is assigned to an object variable, newBook . Далее задается несколько newBook свойств. Next, several properties of newBook are set. Вы можете легко управлять новой книгой с помощью объектной переменной. You can easily control the new workbook by using the object variable.

Читайте также:  Host app service update manager грузит процессор

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Ссылка на основную публикацию
Adblock detector