Іноді вам може знадобитися або потрібно створити книгу Excel автоматизованим способом. Наприклад, вам може знадобитися скопіювати дані з таблиці та вставити їх у щойно створену книгу. Наступний макрос копіює діапазон комірок з активного аркуша та вставляє дані в нову книгу.
Як працює макрос
Як ви побачите, прочитавши рядки коду, цей макрос відносно інтуїтивно зрозумілий:
Підмакрос1()
«Крок 1 Скопіюйте дані
Аркуші("Приклад 1").Діапазон("B4:C15").Копія
«Крок 2 Створіть нову книгу
Робочі зошити.Доп
«Крок 3 Вставте дані
ActiveSheet.Paste Destination:=Діапазон("A1")
«Крок 4 Вимкніть сповіщення програми
Application.DisplayAlerts = False
«Крок 5 Збережіть щойно створену книгу
ActiveWorkbook.SaveAs _
Ім'я файлу:="C:TempMyNewBook.xlsx"
«Крок 6 Знову увімкніть сповіщення програми
Application.DisplayAlerts = True
Кінець суб
На кроці 1 ви просто скопіюєте дані в діапазоні від клітинок B4 до C15. Зверніть увагу, що ви вказуєте і аркуш, і діапазон за назвою. Цей підхід найкраще підходить для роботи з кількома відкритими книгами.
На кроці 2 ви використовуєте метод Add об’єкта Workbook, щоб створити книгу. Порожня книга еквівалентна вибору вручну Файл→Новий→Порожній документ на стрічці Excel.
На кроці 3 ви використовуєте метод Вставити, щоб надіслати скопійовані дані до клітинки A1 нової книги.
Зверніть увагу на те, що код посилається на об'єкт ActiveSheet. Коли ви додаєте книгу, нова робоча книга відразу отримує фокус, перетворюючись на активну книгу. (Excel робить те саме, коли ви додаєте книгу вручну.)
На кроці 4 коду ви встановлюєте для методу DisplayAlerts значення False, фактично вимикаючи попередження Excel. Ви робите це, тому що на наступному кроці коду ви зберігаєте щойно створену книгу. Цей макрос можна запустити кілька разів, і в цьому випадку Excel спробує зберегти файл кілька разів.
Що станеться, якщо ви спробуєте зберегти книгу кілька разів? Правильно — Excel попереджає вас, що вже існує файл з такою назвою, а потім запитує, чи хочете ви перезаписати наявний раніше файл. Оскільки ваша мета — автоматизувати створення книги, ви хочете придушити це попередження.
На кроці 5 ви зберігаєте файл за допомогою методу SaveAs. Зверніть увагу, що ви вводите повний шлях до місця збереження, включаючи остаточну назву файлу.
Оскільки ви вимкнули зміни програми на кроці 4, вам потрібно знову ввімкнути їх (див. Крок 6). Якщо ви цього не зробите, Excel продовжує пригнічувати всі попередження під час поточного сеансу.
Як використовувати макрос
Щоб реалізувати цей макрос, ви можете скопіювати та вставити його в стандартний модуль:
Активуйте редактор Visual Basic, натиснувши Alt+F11.
Клацніть правою кнопкою миші назву проекту/книги у вікні проекту.
Виберіть «Вставка»→ «Модуль».
Введіть або вставте код у щойно створений модуль.
Можливо, вам доведеться змінити назву аркуша, адресу діапазону та місце збереження.