Обучение Excel для всех
Обучение Excel
БЕЗ ВЫХОДНЫХ

Макросы

Главная » Макросы » Готовые макросы » Работа с книгами Скачать Excel-файл

Макрос 1. Создание новой рабочей книги с нуля

Что делает макрос


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

Код макроса

  1. Sub Macros1()
  2.     Sheets("Example 1").Range("B4:C15").Copy '1 копируем данные с листа
  3.     Workbooks.Add                            '2 создаем новую книгу
  4.     ActiveSheet.Paste                        '3 вставляем данные
  5.     Application.DisplayAlerts = False        '4 отключаем системные сообщения
  6.     ActiveWorkbook.SaveAs Filename:="C:\Отчёты\Отчёт на 2016.xlsx" '5 сохраняем по нужному адресу
  7.     Application.DisplayAlerts = True         '6 включаем системные сообщения
  8. 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 будет подавлять все предупреждения, что не допустимо.
Категория: Работа с книгами
Просмотров: 2796
Всего комментариев: 0