Youtubezilla.ru

Мастер бытовой техники
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как написать и использовать собственную надстройку в Excel

Как написать и использовать собственную надстройку в Excel

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

  • при открытии такого файла будет каждый раз срабатывать защита от макросов и нужно будет всякий раз подтверждать исключение безопасности или отключить защиту полностью, что небезопасно;
  • если макрос нужен везде, то и копировать код его придется в каждую книгу;
  • сохранять файл нужно в формате с поддержкой макросов (xlsm) или в формате двоичной книги (xlsb).

Если макросов много, а используются они часто более рационально будет создание собственной надстройки Excel — отдельного файла особого формата (xla – Excel2003, xlam – Excel2010 и старше), содержащего все макросы.

Плюсы такого подхода очевидны:

  • больше не будет срабатывать защита от макросов, потому что надстройки по определению входят в доверенные источники;
  • однократное подключение надстройки в Excel. Теперь её VBA процедуры и функции можно будет использовать в любом файле на компьютере. Сохранять ваши рабочие файлы в xlsm- и xlsb-форматы, также не требуется потому, что исходный текст будет храниться не в них, а в файле надстройки.
  • можно сделать отдельную вкладку на ленте Excel для запуска макросов надстройки.
  • Надстройку легко переносить с компьютера на компьютер — это отдельный файл.

Рассмотрим процесс создания своей собственной надстройки для Excel на примере Excel 2010.

Просмотр кода макроса

Макрос был записан в новый модуль VBA под названием Module1. Если вам интересно, можете посмотреть на инструкции, которые были записаны. Для просмотра кода этого модуля вы должны открыть Visual Basic Editor (VBE). Нажмите Alt+F11 для переключения между окнами VBE и Excel.

В VBE окно Project отображает список всех открытых книг и надстройки. Этот список показан в виде древовидной диаграммы, которую можно сворачивать и разворачивать. Код, который вы записали ранее, хранится в Module1 текущей книги. Если вы дважды щелкнете на Modulel, то код модуля появится в окне Code (рис. 204.1).

Рис. 204.1. Макрос МоеИмя был сгенерирован посредством записи макросов в Excel

Рис. 204.1. Макрос МоеИмя был сгенерирован посредством записи макросов в Excel

Обратите внимание, что Excel вставил комментарии в верхней части процедуры. Это некоторая информация, которая появилась в окне Запись макроса. Строки с комментариями (которые начинаются с апострофа) необязательны, а их удаление не влияет на работу макроса.

Читайте так же:
Как отключить слежку Windows 10

Excel works!

menu

Что такое макрос? Макрос — это сохраненная последовательность действий или программа, созданная на языке VBA (Visual Basic for Application). Частый вопрос «Как написать макрос в Excel?». -Просто.

Т.е. если нам необходимо выполнять одни и те же действия несколько раз, мы можем запомнить эти действия и запускать их одной кнопкой. Я не буду заставлять вас учить язык VBA и даже не буду предлагать много стандартных макросов в этой статье. В действительности создать/написать макрос в Excel сможет действительно каждый. Для этого существует самая интересная и необычная возможность Excel — Макрорекордер (запись ваших действий в виде кода). Т.е. вы можете записать свои действия, как на видео, и перевести их в код (последовательность).

Короче, если вы каждый день выполняете одни и те же действия, стоит разобраться, как автоматизировать этот процесс. Читайте далее, как написать макрос в Excel?

написать макрос в Excel

Что нужно сделать сначала, чтобы все работало корректно?

1.Разрешить использование макросов

Меню (круглая кнопка вверху слева) — Параметры Excel — Центр управления безопасностью — Параметры центра управления безопасностью — Параметры макросов. Поставьте флажок «Включить все макросы».

Или сделать тоже самое на вкладке Разработчик

2. Включить меню Разработчик для быстрой работы с макросами

Меню (круглая кнопка вверху слева) — Параметры Excel — Основные — Показывать вкладку Разработчик.

razrabotchik

3. Сохранить макрос в нужном формате

Чтобы созданный макрос сохранился в книге, необходимо сохранить файл в специальном формате .xlsm или .xlsb. Нажмите Сохранить как — Книга Excel с поддержкой макросов или Двоичная книга.

makrosyi

Итак, как написать макрос в Excel?

Все просто. Заходим в Excel. Внизу страницы, под ярлычками листов есть кнопка «Запись макроса».

написать макрос в Excel

Нажимаем кнопку, открывается окно «Запись макроса». Называем макрос как нам нравится в поле Имя макроса:. Задаем сочетание клавиш, которыми потом будем вызывать его (не обязательно).

написать макрос в Excel

Жмем ОК. Начались запись Макрорекордера.

Все. Теперь делаем те действия, которые нам нужно запомнить макросом. К примеру, нам нужно удалить одну строку и раскрасить ячейку А1 желтым цветом.

Во время этих манипуляций вместо кнопки «Запись макроса» под листами, будет гореть квадратик, нажав на который вы остановите выполнение макроса.

Запись макроса 5

Как запустить то, что получилось? Нажмите кнопку alt + f8, появится окно Выбор макроса, выбирите нужный макрос, а затем щелкните кнопку выполнить.

Как посмотреть что получилось? Нажмите кнопку alt + f8 . Выберите нужный макрос и нажмите изменить. Откроется окно записи макросов (окно VBA)

Читайте так же:
ATI Radeon HD 3600 Series

Код макроса должен получиться примерно следующим.

‘ — символ комментария, т.е. эта строка не участвует в коде. Для макроса обязательно наличие имени (Sub Пример1()) и окончания (End Sub).

Как создать кнопку для макроса можно прочитать здесь .

Итак, любое свое действие вы можете записать, чтобы потом повторить сколько угодно раз!

VBA Print

Все мы знаем, что Microsoft Excel используется для создания формул, простого расчета, нескольких баз данных. Многие из таких данных используются крупными организациями в их повседневной работе. В мире компьютеров и интернета все оцифровано. Однако мы часто используем функцию « Печать» для распечатки данных и работы с ними. Задумывались ли мы о том, как создать автоматический формат печати для любой книги?

Как использовать функцию печати в Excel VBA?

Нам хорошо известна функция Print, которая является частью вкладки File — Print. Однако сегодня мы научимся вставлять функцию печати, но с помощью VBA. Чтобы улучшить наше понимание, мы объяснили процесс с помощью различных примеров использования VBA Print.

Вы можете скачать этот шаблон VBA Print Excel здесь — Шаблон VBA Print Excel

VBA Print — Пример № 1

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

Чтобы распечатать вышесказанное, нам нужно добавить принтер на наш компьютер / ноутбук, и мы можем напрямую распечатать вышеприведенные данные, перейдя в File-Print .

Как и выше, у нас есть такие опции и в VBA, с расширенными возможностями. Это называется VBA Print.

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

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

Шаг 1 : создайте макрос следующим образом

Выберите ДанныеПросмотр — Макросы — Запись макроса.

Как только мы добавим эту опцию, мы увидим нижеприведенный экран.

Шаг 2 : назовите макрос

В данном случае мы сохранили имя наших макросов как « Macro1 », которое является именем по умолчанию. После создания макроса мы можем приступить к созданию опции «Печать».

Шаг 3 : Вариант разработчика.

Функция Print может быть использована в VBA с помощью опции Developer. Чтобы получить опцию в Excel, нам нужно выполнить следующую инструкцию: Нажмите на вкладку « Разработчик », затем нажмите на Visual Basic, чтобы войти в VBA.

Читайте так же:
Как узнать, где хранятся сертификаты ЭЦП на компьютере

Шаг 4: Как только мы попадаем в VBA, нам нужно вставить модуль, чтобы мы могли писать в нем код. Сделайте следующее

Перейдите на вкладку « Вставка » и нажмите « Модуль» .

Шаг 5 : Теперь давайте начнем писать код, для этого нам нужно сначала назвать макрос следующим образом. Субъект должен начинаться с команды «Sub-Print1 ()», поскольку информационная база данных взята из Macro1, который мы создали на шаге. 2 Функция написана следующим образом:

Код:

Шаг 6 : Первая команда — это исходные данные, которые мы упомянули как Macro1. Команда «Выбранные листы» означает, что те же данные были скопированы из исходного листа, где упоминаются данные.

Код:

Шаг 7 : Затем мы должны использовать опцию « Распечатка » в VBA, которая появляется на экране.

Код:

Шаг 8 : После установки опции «Распечатка» мы выбираем количество копий в аргументе.

Код:

Например, в нашем примере мы упомянули « Copies = 1». Но мы также можем изменить детали, как 2 или 3 копии, если требуется. Мы можем настроить его на основе количества копий, которые нам нужно распечатать.

Шаг 8: Следующий аргумент — функция « Сортировка» . Вводя функцию « Collate _: = True », мы гарантируем, что данные составляются вместе на листе. В приведенной выше функции,

Код:

Шаг 9: Мы также упомянули «Игнорировать области печати», потому что у нас есть только 1 лист для печати, и это находится в пределах области печати. Но мы также можем настроить эту опцию, если это необходимо.

Код:

Шаг 10: Для завершения команды нам нужно ввести «End Sub». Если мы не введем эту команду, аргументы будут считаться неполными.

Если мы не введем вышеупомянутую команду, во время выполнения появится следующее сообщение:

Шаг 10 : Мы можем напрямую выполнить, нажав F5 или нажав на кнопку воспроизведения.

Как только мы нажимаем команду «Выполнение», область документа автоматически передается на принтер для печати.

VBA Print — Пример № 2

Точно так же у нас есть еще одна функция, связанная с Print, которая называется Print Preview в VBA. Это помогает нам взглянуть на данные о том, как они будут выглядеть во время печати, прежде чем приступить к выполнению. Чтобы объяснить функцию предварительного просмотра в VBA, мы использовали те же данные, что и в предыдущем примере:

Шаг 1: В VBE начните писать макрос и определите имя переменной.

Код:

Шаг 2: При этом используется функция «Printpreview».

Читайте так же:
Как добавить исключения в Защитник Windows 10

Код:

Шаг 3 : Запустите этот код, нажав F5 напрямую или вручную, нажав кнопку Run на левой верхней панели. Как только мы выполним команду, автоматически появится следующий экран.

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

Итак, вот как функции в VBA Print можно использовать для непосредственного выполнения распечаток. Я надеюсь, что теперь у нас есть лучшее понимание и реализация функции.

То, что нужно запомнить

  • Функция VBA становится доступной после создания макросов для исходных данных. В первые несколько шагов мы узнали, как создавать макросы.
  • Мы всегда должны помнить, чтобы не предоставлять пробелы между функциями.
  • Alt + F11 может напрямую вызывать функцию VBA вместо перехода в режим разработчика.
  • Всегда помните, когда вы вводите функцию Activesheet, как вы можете видеть в шаге 2примера 2, а затем убедитесь, что курсор (щелчок) перед выполнением команды находится на том же листе, для которого требуется печать.

Рекомендуемые статьи

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

Вводная часть – зачем нужны макросы

С 1993 года в разработке приложений для компьютеров началась революция, когда был создан объединённый продукт Microsoft Office, где Exel стал играть одну из ключевых ролей. Именно в это время появляется мощное дополнение VBA, позволяющее автоматизировать задачи Exel. Табличный процессор получил возможность не только предоставлять удобный интерфейс для умного пересчёта ячеек, но и стал полноценным продуктом для решения прикладных задач.

Рассмотрим на простых примерах как создавать программы. Автоматизация или программирование работы машины любит точные определения:

  • Работаем в приложении Office 365 для дома. При этом рассматриваются те возможности, которые не принципиальны при переходе на работу в расширенные версии. Например, для малого бизнеса, где наиболее полноценно раскрываются возможности табличного процессора и макросы excel 2010.
  • При описании будет использоваться интерфейс Exel 2016.
  • VBA, диалект предметно ориентированного языка Visual Basic применяемый при работе с приложениями Microsoft Office.
  • Макрос или макрокоманда — программный алгоритм действий, определённый пользователем. Кроме того, это понятие применяется для символьного имени книги-шаблона, в которой хранится код действий.
  • Используется только функциональность, предусмотренная базовым вариантом табличного процессора, использующего макросы для excel 2013.
  • Предполагается, что читатель знаком с возможностями табличного процессора, но никогда не использовал макрос в excel 2007.
Читайте так же:
Установка программ без прав администратора на Windows

Рассмотрим, как создать макрос в excel 2007 на примере решения очень простой задачи:

Таблица учета с применением макросов

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

Задача — используя информацию кладовщиков (см. рис.1) сделать сводную таблицу за неделю. Посчитать общий вес поступившего цемента и по каждому кладовщику отдельно.

При копировании отчета названия всех привязок изменяются.

В случае, если в отчете используется макрос, который "опирается" на названия привязок, то следует помнить, что после копирования такой отчет не сможет формироваться таким же образом как оригинал без дополнительной обработки.

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

Пример проверки наличия привязки типа "Список". В документе это закладки.

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

Пример проверки наличия привязки типа Объект

Определяем название привязки типа "Объект", которая представляет нужное поле в отчёте (см. статью Руководство пользователя → Пример определения названия привязки типа "Объект").

Удалите модуль с макросом

Другой способ удалить макросы — перейти в редактор Visual Basic и удалить оттуда макросы.

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

Ниже приведены шаги по удалению макроса из редактора Visual Basic:

  • Щелкните вкладку Разработчик на ленте.
  • Нажмите на опцию Visual Basic (или воспользуйтесь сочетанием клавиш — ALT + F11)
  • В редакторе VB у вас будут все объекты книги в Project Explorer. Если вы не видите Project Explorer, выберите опцию View в меню, а затем нажмите Project Explorer.
  • В проводнике проекта дважды щелкните объект с кодом макроса. Это может быть модуль, объект рабочего листа или ThisWorkbook.
  • В открывшемся окне кода удалите макросы, которые хотите удалить. Если вы хотите удалить все, просто выберите все и нажмите клавишу удаления.

Если у вас есть модуль с кодом, который вы хотите удалить, вы можете щелкнуть правой кнопкой мыши объект модуля, а затем выбрать опцию «Удалить модуль».

Итак, это три способа удаления макросов из книги Microsoft Excel.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector