Vba создать новую книгу excel: Создание книги | Microsoft Learn

Содержание

VBA Excel. Рабочая книга (открыть, создать новую, закрыть)

Открытие книги Excel из кода VBA. Проверка существования книги. Создание новой книги, обращение к открытой книге и ее закрытие. Методы Open, Add и Close.

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

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

Workbooks.Open Filename:=»D:\test1.xls»

или

Workbooks.Open («D:\test1.xls»)

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

Проверка существования файла

Проверить существование файла можно с помощью функции Dir. Проверка существования книги Excel:

If Dir(«D:\test1.xls») = «» Then

    MsgBox «Файл не существует»

Else

    MsgBox «Файл существует»

End If

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

If Dir(«D:\test1. xls») = «» Then

    MsgBox «Файл не существует»

Else

    Workbooks.Open Filename:=»D:\test1.xls»

End If

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

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

Workbooks.Add

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

Workbooks.Add

ActiveWorkbook.SaveAs Filename:=»D:\test2.xls»

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

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

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

ActiveWorkbook

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

ThisWorkbook

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

Workbooks(«test1. xls»)

Workbooks(«test2.xls»)

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

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

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

Workbooks(«test1.xlsx»).Close

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

Workbooks(«test1.xlsx»).Close  SaveChanges:=False

или

Workbooks(«test1. xlsx»).Close  (False)

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

Workbooks(«test1.xlsx»).Close  SaveChanges:=True

или

Workbooks(«test1.xlsx»).Close (True)


Фразы для контекстного поиска: открыть книгу, открытие книги, создать книгу, создание книги, закрыть книгу, закрытие книги, открыть файл Excel, открытие файла Excel, существование книги, обратиться к открытой книге.


Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

Как создать файл Excel с помощью макроса VBA читать онлайн

Skip to content

Search for:

Главная » Макросы (VBA)

Автор Дмитрий Якушев На чтение 3 мин. Просмотров 10.7k.

Что делает макрос: Следующий макрос копирует диапазон ячеек из активного листа и вставляет данные в новую книгу.

Содержание

  1. Код макроса
  2. Как работает этот код
  3. Как использовать

Код макроса

Sub SozdatFajl()
'Шаг 1 - копируем данные с листа
Sheets("Продажи").Range("B4:C15").Copy
'Шаг 2 - создаем новую книгу
Workbooks.Add
'Шаг 3 - вставляем данные
ActiveSheet.Paste Destination:=Range("A1")
'Шаг 4 - отключаем системные сообщения
Application.DisplayAlerts = False
'Шаг 5 - сохраняем по нужному адресу
ActiveWorkbook.SaveAs _
Filename:="C:\Отчеты\ПродажиМесяц.xlsx"
'Шаг 6 - включаем системные сообщения
Application.DisplayAlerts = True
End Sub

Как работает этот код

  1. Копируем данные из ячеек B4:С15. Обратите внимание, что мы указываем полный адрес с именем листа и диапазона. Это позволит не допустить ошибки, если у Вас открыто несколько файлов Excel одновременно.
  2. Используем метод Add объекта Workbook, чтобы создать новую рабочую книгу. Это тоже самое, если бы мы вручную нажали Файл➜Создать➜Новый документ
  3. На этом этапе используется метод Paste, чтобы отправить данные, которые вы скопировали в ячейку А1 новой книги. Обратите внимание на то, что код ссылается на объект  ActiveSheet. При создании новой книги она тут же становится активной. Если быть точнее, то становится активный лист в новой (только что созданной) книге.
  4. Далее используем метод DisplayAlerts. Используя свойство False — отключаем системные предупреждения Excel. Можно этого не делать, но мы можем запустить этот макрос несколько раз, и в этом случае Excel будет пытаться сохранить один и тот же файл несколько раз. Что происходит, когда вы пытаетесь сохранить книгу несколько раз? Правильно — Excel предупреждает, что в папке уже есть файл с таким же именем и спрашивает: «Хотите ли вы переписать ранее существующий файл?». Если мы не хотим, чтобы Excel при каждом сохранении спрашивал нас — подавляем это предупреждение.
  5. Сохраняем файл с помощью метода SaveAs. Обратите внимание, что мы пишем полный адрес, включая имя файла с расширением (при сохранении на рабочий стол
    ActiveWorkbook.SaveAs CreateObject(«WScript.Shell»). SpecialFolders(«Desktop») & «\Отчет на 2016.xlsx»).
  6. Поскольку мы запретили показывать системные сообщения в пункте 4, мы должны включить их обратно. Если этого не сделать Excel будет подавлять все предупреждения, что не
    допустимо.

Как использовать

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

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код во вновь созданном модуле.
  5. Измените имя листа, диапазон ячеек, и место сохранения файла.

VBA Создать новую книгу (файл Excel)

Главная / VBA / VBA Создать новую книгу (файл Excel)

Краткое видео о том, как создать новую книгу с помощью макроса.

Создайте новую рабочую книгу с помощью VBA

Добавьте новую рабочую книгу с помощью шаблона

Создайте новую рабочую книгу Excel и сохраните ее

Подробнее о рабочих книгах VBA

.Добавить» метод. Когда вы используете этот метод, он вставляет новую книгу (без ее сохранения) и после этого активирует ее. Это работает так же, как если бы вы нажали сочетание клавиш CONTROL + N. Вы также можете использовать шаблон для вставки новой книги.

Создайте новую книгу с помощью VBA

Обязательно добавьте вкладку разработчика на ленту, чтобы ввести этот код в VBE.

  1. Введите ключевое слово «Рабочие книги», чтобы сослаться на объект рабочей книги.
  2. После этого введите точку.
  3. Здесь у вас будет список свойств и методов для выбора.
  4. Выберите «Добавить» из этого списка или введите его.
 Подпрограмма vba_new_workbook()
Книги.Добавить
End Sub 

Добавление новой книги с использованием шаблона

Как я уже сказал, мы используем метод Workbooks. Add. В этом методе есть аргумент (необязательный), который вы можете использовать для ссылки на файл как на шаблон.

 Рабочая книга. Добавить шаблон (необязательно) 

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

 Workbooks.Add Template:="C:\Users\Dell\Desktop\book1.xlsx" 

Когда вы запускаете приведенный выше код, он берет ссылку из «книги1», сохраненной на рабочем столе. Рабочая книга шаблона имеет 6 рабочих листов, а новая рабочая книга имеет точно такое же количество рабочих листов.

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

  1. xlWBATChart : Chart Sheet
  2. xlWBATExcel4IntlMacroSheet:  Macro Sheet Version 4
  3. xlWBATExcel4MacroSheet : Macro Sheet (International) Version 4
  4. xlWBATWorksheet : Worksheet

Создайте новую книгу Excel и сохраните ее

При создании новой книги Excel открывает ее, но не сохраняет с помощью метода «Добавить». Поэтому для этого вам нужно использовать метод SaveAs.

 Подпрограмма vba_create_workbook()
Книги.Добавить
ActiveWorkbook.SaveAs "C:\users\dell\desktop\myBook.xlsx"
End Sub 
  1. Сначала используйте workbook.add для создания новой книги.
  2. Затем обратитесь к активной книге и используйте метод Сохранить как.
  3. В методе SaveAs используйте путь, по которому вы хотите сохранить книгу, вместе с именем файла.
  4. В конце запустите код.

Подробнее о книгах VBA

Сохранить книгу VBA | VBA Закрыть книгу | Удалить книгу VBA | Эта книга по VBA | Книга переименования VBA | Активация рабочей книги VBA | Рабочая тетрадь VBA | Защитить книгу VBA (снять защиту) | VBA Проверить, открыта ли рабочая книга | Открытая рабочая тетрадь VBA | Проверка VBA, существует ли рабочая книга Excel в папке

  • Рабочая книга VBA

Создайте новую рабочую книгу и назовите ее (6 примеров)

Поиск способов узнать, как создать новую книгу и назвать ее , используя VBA в Excel? Иногда мы хотим создать новую книгу с именем в Excel. Мы можем сделать это, используя VBA . Здесь вы найдете 6 способов создать новую книгу и назвать ее , используя VBA в Excel.


Скачать практическую рабочую тетрадь

6 способов создать новую книгу и назвать ее с помощью VBA в Excel

1. Использование метода «Добавить» для создания новой книги и присвоения ей имени

2. Применение заданного объекта для создания новой книги и присвоения ей имени

3. Использование командной кнопки для создания и именования новой книги

4. Использование метода копирования для создания новой книги путем копирования существующего листа

5. Использование метода перемещения для создания новой книги путем перемещения существующего рабочего листа

6. Применение объекта Range для создания новой книги и присвоение ей имени в соответствии со значением ячейки

Раздел практики

Заключение

Статьи по Теме

Загрузить рабочую тетрадь


6 способов создать новую книгу и назвать ее с помощью VBA в Excel

Здесь вы найдете 6 различных пошаговых способов создать новую книгу и назвать ее в соответствии с вашими предпочтениями, используя VBA в Excel.


1. Использование метода «Добавить» для создания новой книги и присвоения ей имени

Здесь у нас есть рабочая книга с несколькими рабочими листами. В первом методе мы будем создать новую книгу и назвать ее , используя Добавить метод в Excel VBA . Этот метод используется для добавления членов в Excel VBA .

Следуйте приведенным ниже инструкциям, чтобы сделать это самостоятельно.

Шаги:

  • Во-первых, перейдите на вкладку Разработчик >> выберите Visual Basic .
  • Сейчас, Откроется окно Microsoft Visual Basic для приложения .
  • После этого нажмите Вставить >> выберите Модуль .
  • Затем напишите следующий код в модуле .
 Sub Using_Add_Method_Create_New_Workbook_With_Name()
Книги.Добавить
Имя файла ActiveWorkbook.SaveAs:="F:\Using Add Method.xlsx"
Конец суб 

Расшифровка кода

  • Во-первых, мы создали подпроцедуру как Using_Add_Method_Create_New_Workbook_With_Name() .
  • Затем мы использовали метод добавления к для создания новой рабочей книги .
  • После этого мы сохранили книгу , используя метод SaveAs , где я объявил имя папки и назвал ее , используя метод добавления .
  • Далее нажмите Сохранить и вернитесь на свой рабочий лист.
  • После этого перейдите на вкладку Разработчик >> нажмите Макросы .
  • Теперь появится окно Macros .
  • Затем выберите Using_Add_Method_Create_New_Workbook_with_Name .
  • После этого нажмите Выполнить .
  • Наконец, вы сможете создать новая рабочая книга с именем как с использованием метода добавления .

Подробнее: Как добавить лист с именем из ячейки с помощью Excel VBA


2. Применение заданного объекта для создания новой рабочей книги и присвоения ей имени

Теперь мы покажем вам, как создать и назвать новую книгу с помощью , применяя объект Set в Excel VBA . Этот объект используется для присвоить любое значение переменной . Выполните шаги, указанные ниже, чтобы сделать это самостоятельно.

Шаги:

  • В начале перейдите на вкладку Разработчик >> выберите Visual Basic .
  • Затем вставьте модуль, выполнив действия, указанные в Метод 1 .
  • После этого напишите следующий код в вашем модуле .
 Sub Applying_Set_Object_Create_New_Workbook_With_Name()
Dim New_Workbook как рабочая книга
Установите New_Workbook = Workbooks.Добавить
New_Workbook.SaveAs Имя файла:="F:\Applying Set Object.xlsx"
Конец суб 

Разбивка кода

  • Во-первых, мы создали подпроцедуру как Apply_Set_Object_Create_New_Workbook_With_Name() .
  • Затем мы объявили New_Workbook как Workbook .
  • Затем мы создали новую книгу , используя метод добавления и установили ее как New_Workbook .
  • После этого мы сохранили книгу с использованием метода SaveAs , где я также упомянул Path и с именем it Apply Set Object .
  • Затем нажмите кнопку Сохранить и вернитесь к своему рабочему листу.
  • Затем перейдите на вкладку Разработчик >> нажмите Макросы .
  • Теперь появится окно Macros .
  • Далее выберите Applying_Set_Object_Create_New_Workbook_with_Name .
  • После этого нажмите Выполнить .
  • Наконец, вы создадите новую рабочую книгу с именем как Применив заданный объект .

Подробнее: Как добавить лист с именем в Excel VBA (6 простых способов)


3. Использование командной кнопки для создания и присвоения имени новой рабочей книге

Мы также можем создать и имя новую книгу с помощью командной кнопки в Excel VBA . Нажав кнопку Command , вы можете выполнить процедуру , работающую на этом рабочем листе .

Следуйте приведенным ниже инструкциям, чтобы сделать это самостоятельно.

Шаги:

  • Во-первых, перейдите на вкладку Разработчик >> нажмите Вставить >> выберите Кнопка управления из Элементы управления ActiveX .
  • Затем вставьте кнопку Command в рабочий лист и щелкните ее правой кнопкой мыши .
  • После этого нажмите CommandButton Object >> выберите Edit .
  • Затем введите Create New Workbook в качестве имени кнопки управления .
  • Теперь на рабочий лист вставлена ​​кнопка управления .
  • Еще раз, щелкните правой кнопкой мыши на кнопке управления .
  • Затем нажмите View Code .
  • После этого напишите следующий код.
 Частная подпрограмма CommandButton1_Click()
Dim New_Workbook как рабочая книга
Установите New_Workbook = Workbooks.Добавить
Имя_файла New_Workbook.SaveAs:="F:\Using Command Button.xlsx"
Конец суб 

Разбивка кода

  • Во-первых, мы создали частную подпроцедуру как CommandButton1_Click() .
  • Затем мы объявили New_Workbook как Workbook .
  • Затем мы создали новую книгу , используя метод добавления и установили ее как New_Workbook .
  • После этого мы сохранили книгу с помощью Сохранить как метод , где я также упомянул путь и с именем it с помощью командной кнопки .
  • Затем нажмите кнопку Сохранить и вернитесь к своему рабочему листу.
  • Затем нажмите Режим разработки на вкладке Разработчик .
  • Теперь нажмите кнопку Command .
  • Наконец, вы создадите новая рабочая книга с новым именем с помощью командной кнопки .

Подробнее: Макрос Excel: создание нового листа и переименование (3 идеальных примера)


4. Использование метода копирования для создания новой рабочей книги путем копирования существующей рабочей таблицы

В четвертом методе мы покажем, как создать новую книгу с помощью копирования активного рабочего листа и присвоения ему имени в соответствии с вашими предпочтениями, используя метод копирования в Excel VBA .

Шаги:

  • В начале перейдите на вкладку Разработчик >> выберите Visual Basic .
  • Затем вставьте модуль, выполнив действия, указанные в Метод 1 .
  • После этого напишите следующий код в вашем модуле .
 Подпрограмма Use_of_Copy_Method()
Dim New_Workbook как рабочая книга
Рабочие листы («Использование метода копирования»). Копировать
Установите New_Workbook = ActiveWorkbook
New_Workbook.SaveAs Имя файла:="F:\Использование метода копирования.xlsx"
Конец суб 

Разбивка кода

  • Во-первых, мы создали подпроцедуру как Use_of_Copy_Method() .
  • Затем мы объявили New_Workbook как Workbook .
  • Теперь мы скопировали рабочий лист , используя метод копирования .
  • Затем мы устанавливаем New_Workbook как Active Workbook .
  • После этого мы сохранили рабочая книга с использованием метода SaveAs , где я также упомянул путь и с именем it Использование метода копирования .
  • Затем сохраните модуль , следуя шагу, показанному в методе 1 , и вернитесь к своему рабочему листу.
  • Затем перейдите на вкладку Разработчик >> нажмите Макросы .
  • Теперь появится окно Macros .
  • Затем выберите Use_of_Copy_Method .
  • После этого нажмите Выполнить .
  • Наконец, вы сможете создать новую книгу с именем как Использование метода копирования .

Подробнее: Excel VBA: добавить лист после последнего (3 идеальных примера)


5. Использование метода перемещения для создания новой рабочей книги путем перемещения существующего рабочего листа

Теперь мы покажем, как создать новую книгу с помощью , переместив активный рабочий лист и , назвав его в соответствии с вашими предпочтениями, используя метод Move в Excel VBA .

Следуйте приведенным ниже инструкциям, чтобы сделать это самостоятельно.

Шаги:

  • Во-первых, перейдите на вкладку Разработчик >> выберите Visual Basic .
  • Затем вставьте модуль, выполнив действия, указанные в Метод 1 .
  • После этого напишите следующий код в вашем модуле .
 Подпрограмма Using_Move_Method()
Dim New_Workbook как рабочая книга
Рабочие листы («Использование метода перемещения»). Переместить
Установите New_Workbook = ActiveWorkbook
New_Workbook.SaveAs Имя файла:="F:\Использование метода перемещения.xlsx"
Конец суб 

Разбивка кода

  • Во-первых, мы создали Подпроцедура as Using_Move_Method() .
  • Затем мы объявили New_Workbook как Workbook .
  • Теперь мы использовали метод перемещения для перемещения этого рабочего листа.
  • Затем мы устанавливаем New_Workbook как Active Workbook .
  • После этого мы сохранили книгу , используя метод SaveAs , где я также упомянул путь и с именем 9.0004 it Использование метода перемещения .
  • Затем сохраните модуль , следуя шагу, показанному в методе 1 , и вернитесь к своему рабочему листу.
  • Затем перейдите на вкладку Разработчик >> нажмите Макросы .
  • Теперь появится окно Macros .
  • Затем выберите Using_Move_Method .
  • После этого нажмите Выполнить .
  • Наконец, вы сможете создать новую книгу с именем как с помощью метода перемещения .

Подробнее: Excel VBA для добавления листа в другую книгу (3 удобных примера)


6. Применение объекта Range для создания новой книги и присвоение ей имени в соответствии со значением ячейки

В финальном методе мы покажем вам, как создать новая книга и назовите ее в соответствии со значением ячейки из активного листа с помощью объекта Range в Excel VBA . Выполните шаги, указанные ниже, чтобы сделать это самостоятельно.

Шаги:

  • В начале перейдите на вкладку Разработчик >> выберите Visual Basic .
  • После этого вставьте модуль, выполнив действия, указанные в Метод 1 .
  • Теперь запишите следующий код в модуль .
 Подпрограмма Applying_Range_Object()
Dim New_Workbook как строка
New_Workbook = ActiveWorkbook.Листы(6).Диапазон("B2").Значение
Книги.Добавить
ActiveWorkbook.SaveAs Имя файла:=New_Workbook & ".xls"
Конец суб 

Разбивка кода

  • Во-первых, мы создали подпроцедуру как Applying_Range_Object() .
  • Далее мы объявили New_Workbook как Строка .
  • Теперь мы использовали метод Value, чтобы установить значение New_Workbook в качестве значения Cell B2 из Active Workbook .
  • Затем мы добавили новую книгу с помощью метода добавления .
  • После этого мы сохранили рабочую книгу с помощью метода SaveAs и выбрали имя как New_Workbook .
  • Затем сохраните модуль , следуя шагу, показанному в методе 1 , и вернитесь к своему рабочему листу.
  • Затем перейдите на вкладку Разработчик >> нажмите Макросы .
  • Теперь появится окно Macros .
  • После этого выберите Applying_Range_Object .
  • Затем нажмите Выполнить .
  • Наконец-то вы сможете создать новую книгу и назвать ее как Текст в ячейке B2 из активного листа .