Excel vba создание новой книги

Excel vba создание новой книги

У меня имеется файл из которого мне необходимо скопировать некоторые столбцы в новую созданную книгу.

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

Помогите, пожалуйста. (В VBA я новичок)

200?’200px’:»+(this.scrollHeight+5)+’px’);»>
Public Sub nytfjdkt()

‘——Копирование столбцов из старой книги в новую книгу———-
Range(«A:H,S:S,U:U,W:W,AQ:AQ,AE:AE,AF:AF,AY:AY,BA:BA,BG:BG,BH:BH,BI:BI»).Select
‘ Range( _
«Таблица_beta_newbooksql_Rebus_vwDefect[[#Headers],[Сумма дельта приходная, руб.]]» _
).Activate
Selection.Copy
‘————СОЗДАНИЕ НОВОЙ КНИГИ—————

Dim oExcel As New Excel.Application ‘Запускаем Excel
oExcel.Visible = True ‘Делаем его видимым
Dim oWbk As Excel.Workbook ‘Создаем новую книгу Книга1
Set oWbk = oExcel.Workbooks.Add()
Dim oSheet As Excel.Worksheet
Set oSheet = oWbk.Worksheets.Item(«Лист1») ‘Находим Лист1
oSheet.Name = «Новый лист» ‘Присваиваем ему имя «Новый лист»
Dim oRange As Range ‘Находим диапазон A1 в Книга1
Set oRange = oSheet.Range(«A1»)

‘———-На данном этапе я хочу вставить данные из буфера

oRange.Value = «Начиная с этой ячейки я хочу вставить диапазон из буфера» ‘вносим в него данные

[moder]Читаем внимательно правила форума
Особенно п.п.3[/moder]

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

Открытие книги 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:

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

В этом курсе:

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

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

Выберите элемент Пустая книга или нажмите клавиши CTRL+N.

Начните вводить текст.

Создание книги на основе шаблона

Откройте вкладку Файл и выберите пункт Создать.

Читать еще:  Excel счет если не пусто

Откройте шаблон двойным щелчком.

Щелкните и начните вводить текст.

Откройте новую пустую книгу.

Откройте вкладку Файл.

Нажмите кнопку Создать.

В разделе Доступные шаблоны дважды щелкните элемент Пустая книга.

Сочетание клавиш. Чтобы быстро создать пустую книгу, вы также можете нажать клавиши CTRL+N.

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

При необходимости также можно добавить и удалить листы.

Дополнительные сведения о добавлении и удалении листов см. в статье Вставка и удаление листов.

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

Откройте вкладку Файл.

Нажмите кнопку Создать.

В разделе Шаблоны щелкните Из существующего документа.

В диалоговом окне Создание из имеющейся книги выберите диск, папку или адрес в Интернете, где находится книга, которую требуется открыть.

Щелкните книгу, а затем нажмите кнопку Создать.

Создание книги на основе шаблона

Откройте вкладку Файл.

Выполните одно из указанных ниже действий.

Чтобы использовать один из образцов шаблонов, доступных в Excel, в разделе Доступные шаблоны щелкните Образцы шаблонов, а затем дважды щелкните нужный шаблон.

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

Чтобы использовать собственный шаблон, в разделе Мои шаблоны, а затем на вкладке Личные шаблоны в диалоговом окне Создать дважды щелкните нужный шаблон.

Примечание: Вкладка Личные шаблоны содержит созданные вами шаблоны. Если вы не видите шаблон, который хотите использовать, убедитесь, что он находится в правильной папке. Пользовательские шаблоны обычно хранятся в папке Шаблоны (стандартный путь в Windows Vista: C:Пользователиимя_пользователяAppDataLocalMicrosoftШаблоны; стандартный путь в Microsoft Windows XP: C:Documents and Settingsимя_пользователяApplication DataMicrosoftШаблоны).

Совет: Другие шаблоны книг можно скачать с сайта Microsoft Office.com. В разделе Доступные шаблоны щелкните Шаблоны Office.com, выберите определенную категорию и дважды щелкните шаблон, который хотите скачать.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

11.4 Коллекция Workbooks и объект Workbook, их свойства и методы

Объект Excel.Workbook, программная работа с книгами Excel из VBA, создание и открытие книг Excel

Следующий по иерархии после Application объект в объектной модели Excel — это объект Workbook, который представляет книгу Excel. Можно сказать, что объект Workbook занимает в Excel примерно то же место, что и объект Document в Word — он нужен для получения ссылки на нужную нам книгу в наборе открытых книг Excel, а также для настройки общих свойств и выполнения общих действий со всеми листами книги. Получить этот объект можно очень просто:

  • первый способ — воспользоваться коллекцией Workbooks, которая доступна через свойство Workbooks объекта Application. Впрочем, применять это свойство совершенно не обязательно — коллекция Workbooks в Excel и так постоянно доступна. Найти нужную книгу в этой коллекции можно по ее имени или номеру в коллекции:
  • второй способ — использовать свойство Application.ActiveWorkbook. При помощи этого свойства мы обращаемся к активной в настоящей момент книге:
  • третий способ — использовать свойство Application.ThisWorkbook. При этом мы обращаемся к той книге, которой принадлежит данный программный модуль:
Читать еще:  Excel объединение ячеек не активно

На практике чаще всего нам нужно либо создать в Excel новую книгу, либо открыть существующую книгу (или другой файл в формате, который понимает Excel, например, DBF). Для этой цели используются методы Add() и Open() соответственно. Например, создать новую книгу в Excel можно так:

Dim oWbk As Workbook

Set oWbk = Workbooks.Add()

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

Открытие существующей книги выглядит так:

Dim oWbk As Workbook

Set oWbk = WorkBooks.Open(«C:mybook1.xls»)

Помимо стандартных, в коллекции Workbooks предусмотрено также три специальных метода:

  • OpenDatabase() — открыть базу данных, выполнить к ней запрос (или открыть таблицу/представление напрямую), а результаты запроса поместить как импортированные внешние данные в новую автоматически созданную рабочую книгу Excel;
  • OpenText() — почти то же самое, но в качестве источника здесь выступает текстовый файл. Дополнительные параметры позволяют определять его формат.
  • OpenXML() — в качестве источника данных будет выступать файл в формате XML.

Как и метод InsertDatabase() в Word, эти методы следует использовать только в самых простых случаях. Рекомендуется по возможности использовать более мощные и стандартные средства объектной модели ADO.

Теперь о самых важных свойствах объекта Workbook — самой рабочей книги:

  • Name, CodeName, FullName — разные имена этой книги. Самое простое имя — Name, это имя совпадает с именем файла книги. FullName — это имя файла книги вместе с полным путем к нему в операционной системе. CodeName — как эта книга будет называться в коде. CodeName можно посмотреть в окне Project Explorer или, если открыть свойства книги в окне Properties, кодовое имя книги будет представлено в строке (Name). Все три свойства доступны только для чтения, менять их можно другими способами (например, сохраняя файл под другим именем или прямо в окне Properties).

Определенное отношение к именам имеет также свойство Path (путь к файлу книги) .

  • Charts, Sheets, ActiveChart, ActiveSheet, CustomViews, BuiltinDocumentProperties и CustomDocumentProperties, Windows, WebOptions возвращают одноименные коллекции соответствующих объектов. Некоторые из этих объектов будут рассматриваться ниже.
  • ConflictResolution — как будут разрешаться конфликты изменения данных, если книга открыта несколькими пользователями сразу (shared workbook). Есть возможность сделать так, чтобы локальный пользователь автоматически выигрывал, автоматически проигрывал или возникало диалоговое окно с возможностью разобраться в конфликте вручную. Существует большое количество свойств, которые позволяют настроить параметры совместной работы с книгой, но по причине того, что такая работа не рекомендуется (данные для совместного доступа необходимо переносить в базу данных), рассматриваться они здесь не будут, за исключением:
    • запрещать/разрешать общий доступ к рабочей книге можно при помощи методов SaveAs() или ExclusiveAccess();
    • по умолчанию возможность совместного редактирования для книги отключена (проверить можно при помощи свойства MultiUserEditing);
    • получить список всех пользователей (а также когда они открыли файл и в каком режиме) можно при помощи свойства UserStatus.
  • FileFormat — формат книги (доступен напрямую только для чтения, можно изменять при сохранении). Форматов очень много: множество версий Excel, DBF, Lotus 1-2-3, форматы TXT, CSV, XML — всего несколько десятков.
  • свойство Names возвращает коллекцию всех именованных диапазонов в данной рабочей книге. Получить информацию о всех именованных диапазонах в данной книге можно, например, так:
Читать еще:  В эксель не равно

For Each Item In ThisWorkbook.Names

Это свойство удобно использовать для предварительных проверок для устранения потенциальных ошибок времени выполнения.

Методов у объекта Workbook также очень много, однако значения самых употребимых — Activate(), Close(), Save(), SaveAs(), PrintOut(), Protect() и Unprotect() очевидны и действуют аналогично одноименным методам объекта Document в Word.

Конференция VBStreets

Весь вкус программирования!

  • Список форумовСмежные технологииVBA
  • Изменить размер шрифта
  • FAQ
  • Вход

Создание книги с заданным именем

Создание книги с заданным именем

Влад » 16.04.2004 (Пт) 9:52

Добрый день всем!
Подскажите, как создать книгу с заданным именем.
Более конкретно — формируются отчеты за выбранные дни как отдельные книги, которые должны иметь разные имена (в которые включена дата). Какие из них сохранять как файлы, выбирает пользователь (такое требование), то есть Workbooks.open использовать не получается, так как создаются файлы на диске.
По Workbooks.Add (1) создаются книги с именем «Книга1″,»Книга2».
При обходном варианте — временное создание файла-шаблона с произвольным именем и потом удалением этого шаблона

fname = «yyyy-mm-dd.xls»
Open fname For Random Access Read Write As #1
Close #1
Workbooks.Add fname
Kill fname

книга открывается с требуемым именем, но почему-то только для чтения (свойство .ReadOnly=True), а это свойство изменить нельзя.
При использовании как шаблона реальных файлов Excel — картина аналогичная, доступ к вновь открытой книге только по чтению.

Заранее благодарен за помощь.

GSerg » 16.04.2004 (Пт) 10:03

Влад » 16.04.2004 (Пт) 10:43

GSerg » 16.04.2004 (Пт) 10:48

Влад » 16.04.2004 (Пт) 15:29

Sorry, оказалось, что это не все.
При попытке сохранения книги с установленным по
Workbooks.Add(1).Windows(1).Caption = «yyyy-mm-dd.xls»
оказывается, что она имеет имя «ЛистNN»
WorkBooks(i).Name=»ЛистNN»
WorkBooks(i).FullName=»ЛистNN»
а эти свойства Read Only и не изменяются.
Что можно сделать здесь?

Grerg-у. Насчет сигнатуры получилось, конечно, еще то.
Что поделать, эклер проклятый замучил, как у той бабки, которая пыталась купить два склероза.

GSerg » 17.04.2004 (Сб) 6:45

Влад » 19.04.2004 (Пн) 13:32

GSerg » 20.04.2004 (Вт) 9:32

Влад » 21.04.2004 (Ср) 7:58

Re: Создание книги с заданным именем

уырекун » 04.05.2015 (Пн) 11:47

Re: Создание книги с заданным именем

pronto » 04.05.2015 (Пн) 16:41

Re: Создание книги с заданным именем

уырекун » 04.05.2015 (Пн) 17:29

Ваш код вызывает диалог, а можно ли программно задать это «имя файла», поясню, я программно создаю новую книгу, пользователь жмет в ней сохранить и уже в этом диалоге вместо «книга1» должно быть «Нужное_имя_при_сохранении»

Re: Создание книги с заданным именем

alibek » 04.05.2015 (Пн) 17:54

Похожие статьи

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