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

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

Заранее большое спасибо!

Это код, который у меня есть до сих пор, но он работает не так, как я хочу (объект не найден и не сохраняет его в той же папке):

  Sub CreateNewWorkBook () 'Добавление новой WorkbookWorkbooks.Add' Сохранение книги ActiveWorkbook.SaveAs Filename: = thisWb.  Путь & " Test.xls" ActiveWorkbook.Close savechanges: = FalseEnd Sub  

Попробуйте следующий код из:

https://msdn.microsoft.com/en-us/library/office/aa221273 (v = office.11) .aspx

   Sub AddNew () Set NewBook ​​= Workbooks.Add With NewBook ​​.Title = "All Sales" 'Вы можете изменить это значение.  .Subject = "Sales" 'Вы можете изменить это значение.  .SaveAs Filename: = "Allsales.xls" End WithEnd Sub  

Чтобы получить путь к файлу, уже есть вопрос по этому поводу:

Как получить путь к текущему листу в VBA?



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

Создание новых книг выполняется с помощью метода Workbooks.Add , который дополнительно вызывается с аргументом Template , который может означать разные вещи, как описано ниже. Метод возвращает объект Workbook. Новая книга становится активной.

Создать новую книгу без указанного шаблона

Создать новую книгу можно так же просто, как и следующий код:

  Dim wb As WorkbookSet wb = Workbooks.Add  

Имя новой книги будет ‘Книга (x)’, где (x) будет порядковый номер (1,2, …). Новая книга содержит несколько пустых листов (количество листов задается свойством SheetsInNewWorkbook.

Создать новую книгу из файла шаблона

Новая книга созданный с использованием указанного файла в качестве шаблона:

  Dim strTemplate As String: strTemplate = "c:  temp  myfile.xlsm" Dim wb As WorkbookSet wb = Workbooks.Add (  strTemplate)  

Новая книга представляет собой полную копию файла, служившего шаблоном, включая код VBA, если таковой имеется. Однако новая книга еще не существует в файловой системе.

Имя новой книги будет после шаблона с добавленным порядковым номером, например, здесь ‘myfile1’.

Примечание
  • Хотя имя аргумента здесь — Шаблон, любой файл, который можно открыть в Excel, разрешен — это не обязательно тип шаблона Excel (.xltx или аналогичный)
  • Альтернативный способ создания нового файла — использование Workbooks.Open и указание реального файла Excel t emplate type file в аргументе Filename и Editable: = False. Это позволяет использовать некоторые дополнительные аргументы, такие как UpdateLinks.

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

В приведенном ниже коде показано, что нужно создать книга с одним листом.

  Dim wb As WorkbookSet wb = Workbooks.Add (xlWBATWorksheet)  

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

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

Оцените статью
clickpad.ru
Добавить комментарий