Макрос 1. Создание новой рабочей книги с нуля
Что делает макрос
Следующий макрос копирует диапазон ячеек из активного листа и вставляет данные в новую книгу.
Код макроса
Sub Macros1()
Sheets("Example 1").Range("B4:C15").Copy '1 копируем данные с листа
Workbooks.Add '2 создаем новую книгу
ActiveSheet.Paste '3 вставляем данные
Application.DisplayAlerts = False '4 отключаем системные сообщения
ActiveWorkbook.SaveAs Filename:="C:\Отчёты\Отчёт на 2016.xlsx" '5 сохраняем по нужному адресу
Application.DisplayAlerts = True '6 включаем системные сообщения
End Sub
Как работает этот код
- Копируем данные из ячеек B4:С15. Обратите внимание, что мы указываем полный адрес с именем листа и диапазона. Это позволит не допустить ошибки, если у Вас открыто несколько файлов Excel одновременно.
- Используем метод Add объекта Workbook, чтобы создать новую рабочую книгу. Это тоже самое, если бы мы вручную нажали Файл➜Создать➜Новый документ
- На этом этапе используется метод Paste, чтобы отправить данные, которые вы скопировали в ячейку А1 новой книги. Обратите внимание на то, что код ссылается на объект ActiveSheet. При создании новой книги она тут же становится активной. Если быть точнее, то становится активный лист в новой (только что созданной) книге.
- Далее используем метод DisplayAlerts. Используя свойство False - отключаем системные предупреждения Excel. Можно этого не делать, но мы можем запустить этот макрос несколько раз, и в этом случае Excel будет пытаться сохранить один и тот же файл несколько раз. Что происходит, когда вы пытаетесь сохранить книгу несколько раз? Правильно - Excel предупреждает, что в папке уже есть файл с таким же именем и спрашивает: "Хотите ли вы переписать ранее существующий файл?". Если мы не хотим, чтобы Excel при каждом сохранении спрашивал нас - подавляем это предупреждение.
- Сохраняем файл с помощью метода SaveAs. Обратите внимание, что мы пишем полный адрес, включая имя файла с расширением (при сохранении на рабочий стол ActiveWorkbook.SaveAs CreateObject("WScript.Shell"). SpecialFolders("Desktop") & "\Отчет на 2016.xlsx").
- Поскольку мы запретили показывать системные сообщения в пункте 4, мы должны включить их обратно. Если этого не сделать Excel будет подавлять все предупреждения, что не допустимо.
|
Категория: Работа с книгами
|
Просмотров: 2796
|