Макрос в excel для печати

Макрос в excel для печати

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

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

  • выделите мышью область А1:J20 (лицевая сторона командировочного удостоверения);
  • нажмите на клавишу Ctrl и, удерживая ее, выделите область А22:J69 (обратная сторона);
  • выполните команду Файл | Область печати | Задать .

После этого с помощью команды Файл | Предварительный просмотр просмотрите, как разместится документ на бумаге и, если необходимо, то произведите устранение недостатков, вызвав диалоговое окно Параметры страницы , нажав на кнопку Страница в меню окна предварительного просмотра.

Вывод командировочного удостоверения на печать с использованием стандартных методов

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

1-й метод. Вывод на печать одного командировочного удостоверения, печатая последовательно лицевую сторону, затем обратную. Для этого желательно, чтобы в принтере находился один лист бумаги. Тогда нажав на кнопку Печать на стандартной панели инструментов нужно лист, после вывода его из принтера с распечатанной лицевой стороной, перевернуть и “пропустить” через принтер с другой стороны. Далее повторить эту операцию с оставшимися командировочными удостоверениями.

2-й метод заключается в том, чтобы отпечатать партию командировочных удостоверений с одной стороны, и затем пропустить эти листы бумаги через принтер с другой стороны. Недостаток этого метода заключается в том, что тогда каждый раз, отправляя документ на печать, нужно применять команду Файл | Печать , а после этого в диалоговом окне Печать отмечать номера печатаемых страниц, например, с 1-й по 1-ю, что тоже не совсем удобно.

Недостаток обоих методов заключается в относительной трудоемкости выполнения операций, которая заключается в повторении ряда обязательных однотипных действий и, как следствие, возможности внесения ошибок. Пользователь должен повторять несколько одних и тех же действий, независимо от применяемого метода. В Справочной системе Microsoft Excel в разделе Автоматизация задач написано следующее:

Запись макроса вывода документа на печать

Чтобы писать макросы, не обязательно быть опытным (продвинутым) пользователем. Можно с помощью активизации средства записи макроса записать последовательность выполняемых действий. При этом программа записи автоматически преобразует последовательность действий пользователя в код на языке Visual Basic of Application (VBA) , который является основой записи макроса.

Планирование шагов и команд автоматизации процесса печати

Принимаем за основу для автоматизации 2-й метод. Предполагаем, что необходимо отправить на печать лицевую сторону сформированных командировочных удостоверений с порядковыми номерами с 1-го по 3-й, после чего повторить ту же операцию с выводом на печать обратной стороны.. Исходя из этого однотипные действия 2-го метода по выводу на печать каждой стороны нужно повторить три раза. Значит было бы удобно отправлять документ на печать одним действием, например, нажатием на кнопку, после чего Excel должен самостоятельно вызвать диалоговое окно Печать , определить выводимые на печать страницы и нажать на кнопку ОК .

Макрос вывода документа на печать

Для того чтобы начать запись макроса, выполните команду Сервис | Макрос | Начать запись . Появится диалоговое окно Запись макроса (рисунок 1).

Рис.1. Диалоговое окно Запись макроса

Если это первый записываемый макрос в открываемой книге, то тогда в поле Имя макроса будет указано его имя – Макрос1 .

Многие пользователи не изменяют имя макроса и через некоторое время может возникнуть недоразумения – какую операцию выполняет этот макрос. Поэтому сразу измените его имя на ПечатьЛицевойСтороны . Имя макроса должно начинаться с заглавной буквы и между элементами текста имени не должно быть пробелов.

В поле Сочетание клавиш введите букву на английском языке, например, “z” (рисунок 2).

Рис.2. Диалоговое окно Запись макроса после внесения изменений в поля Имя макроса , Описание и Сочетание клавиш

Это позволит сразу же после записи макроса, нажав на комбинацию клавиш Ctrl+z запустить макрос на автоматическое выполнение записанной операции.

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

В раскрывающемся списке Сохранить в находятся:

  • Личная книга макросов;
  • Новая книга;
  • Эта книга;

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

После нажатия на кнопку ОК или клавишу Enter Excel начинает запись макроса, для чего фиксирует все действия пользователя, независимо от того, правильны ли они. Фиксация действий производится на языке кода VBA и будет осуществляться до остановки записи. Для остановки записи предназначена появляющаяся после начала записи кнопка Остановка (рисунок 3).

Рис.3. Кнопка Остановка

Для записи кода действий, выполняемых макросом, последовательно выполните процедуры по выводу на печать лицевой стороны командировочного удостоверения:

  • выполните команду Файл | Печать ;
  • в появившемся диалоговом окне Печать в области Печатать введите номера страниц с 1-й по 1-ю и нажмите кнопку ОК ;
  • для остановки записи макроса нажмите кнопку Остановка или выполните команду Сервис | Макрос | Остановка записи .

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

Просмотр записанного макроса

Просмотр записанного макроса заключается в просмотре непосредственно сгенерированного текста кода VBA при его записи. Для этого, выполнив команду Сервис | Макрос | Редактор Visual Basic или нажав комбинацию клавиш Alt+F11 , откройте приложение Microsoft Visual Basic (рисунок 4).

Рис.4. Приложение Microsoft Visual Basic с записанными макросами вывода на печать лицевой и обратной стороны документа

При запуске Редактора Visual Basic в этом приложения присутствуют три основных окна:

  • окно проекта;
  • окно свойств;
  • окно программы.

Окно проекта Окно проекта расположено слева вверху (рисунок 4) и содержит несколько папок. В нашем случае имеются папка Microsoft Excel Объекты (рисунок 5), в которой находятся объекты, с которыми производятся действия:

Рис.5. Окно проекта

  • Лист1 (КомандировочноеУдостоверение) ;
  • Лист2 (ЖурналРегистрацииКУ) ;
  • ЭтаКнига (в которой записаны эти макросы) .

Вторая папка – Модули , в которой находится элемент Модуль1 (рисунок 4), содержащий записанные макросы вывода на печать 1-й и 2-й страницы.

При создании диалоговых окон и форм может находиться и третья папка – Формы , но здесь она рассмотрена не будет.

Окно проекта предназначено для управления различными элементами проекта VBA и открывается с помощью команды Вид | Окно проекта .

Если обратиться к окну проекта, показанному на рисунке 5, то в объекте Модули находится один элемент Модуль1 . Это тот элемент, который создан автоматически при записи макросов вывода документов на печать.

Окно свойств Окно свойств находится в левом нижнем углу (рисунок 4).

В окне свойств перечисляются характеристики элементов проекта. Для изменения свойств элемента, выделите его в окне проекта и тогда его характеристики отобразятся в окне свойств. Если выделить элемент Модуль1 , то в окне свойств отобразится его имя: Модуль1 . Для изменения имени модуля в окне свойств измените значение свойства Name , введя новое имя – Печать (рисунок 6).

Рис.6. Окна Проектов и Свойств с переименованным элементом Модуль1 в элемент Печать

Окно программы Окно программы самое большое и находится справа (рисунок 4).

Именно в нем происходит запись текста макроса на языке Visual Basic of Application . Окно программы имеет два режима просмотра:

  • представление полного модуля;
  • представление процедуры.

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

В режиме представления процедуры отображается только один макрос. Для перехода к следующему макросу, его имя нужно выбрать в раскрывающемся списке в верхней части окна программы или воспользоваться клавишами Ctrl +PageUp и Ctrl+PageDown .

В режиме представления в окне программы находятся все макросы, в записанной последовательности. На рисунке 4 показан режим представления.

Исследование записанного макроса Ознакомимся с кодом VBA макроса ПечатьЛицевойСтороны . Если окно программ закрыто, то для просмотра макроса в окне проекта активизируйте двойным нажатием на правую кнопку мыши элемент Печать объекта Модули .

Текст макроса в окне программы содержит следующие элементы (рисунок 4):

  • ключевые слова Sub и End Sub , означающие начало и конец текста макроса, шрифт которых выделен синим цветом;
  • имя макроса, которое следует за ключевым словом Sub начала макроса;
  • комментарии, шрифт которых выделен зеленым цветом;
  • код VBA или непосредственно записанные действия, которые выполняет макрос.

Комментарии. В нашем примере это те данные, которые вводились в диалоговое окно Запись макроса (рисунок 2). Строка комментария предназначена для описания действий и начинается с апострофа. Удаление комментариев никоим образом не влияет на выполнение макроса. Более подробно комментарии будут рассмотрены далее.

И, наконец, код записанных действий, выполняемых макросом:

Текст макроса, который начинается и заканчивается ключевыми словами Sub и End Sub , называется подпрограммой или процедурой .

автоматизацию рабочего процесса по формированию и учету кассовых документов . –> На следующем шаге мы рассмотрим запуск записанных макросов на выполнение из приложения Excel .

Источник: it.kgsu.ru

Макрос в excel для печати

= Мир MS Excel/Макрос печати – Мир MS Excel

–> –> –> Правила форума FAQ Новости сайта Новые сообщения Участники RSS

Отметить все сообщения прочитанными и перейти на главную страницу форума

–>

  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос печати (Макросы/Sub)

Макрос печати

BlackRaven Дата: Вторник, 29.05.2018, 08:05 | Сообщение № 1

Доброго времени суток! Столкнулся со следующей задачей:
Необходим (для удобства) макрос печати. Но не простой, а с выделением области печати, принудительной горизонтальной ориентации и печати выделенного диапазона на 1 лист.

Простой макрос печати диапазона есть:
[vba] [/vba]Что нужно добавить для горизонтальной ориентации и печати выделенного диапазона на 1 лист?

Заранее большое человеческое спасибо! )))

P.S. с ориентацией справился (вроде). Добавил следующую строку ниже .DisplayDrawingObjects = xlHide:
[vba]

Доброго времени суток! Столкнулся со следующей задачей:
Необходим (для удобства) макрос печати. Но не простой, а с выделением области печати, принудительной горизонтальной ориентации и печати выделенного диапазона на 1 лист.

Простой макрос печати диапазона есть:
[vba] [/vba]Что нужно добавить для горизонтальной ориентации и печати выделенного диапазона на 1 лист?

Заранее большое человеческое спасибо! )))

P.S. с ориентацией справился (вроде). Добавил следующую строку ниже .DisplayDrawingObjects = xlHide:
[vba]

Сообщение Доброго времени суток! Столкнулся со следующей задачей:
Необходим (для удобства) макрос печати. Но не простой, а с выделением области печати, принудительной горизонтальной ориентации и печати выделенного диапазона на 1 лист.

Простой макрос печати диапазона есть:
[vba] [/vba]Что нужно добавить для горизонтальной ориентации и печати выделенного диапазона на 1 лист?

Источник: www.excelworld.ru

Макрос для печати определенных листов книги Excel

Всем доброе время суток!
Помогите пожалуйста.
Дано:
Лист с данными о клиенте и виде выполняемых работ, на котором определяется какой из 65 листов нужно напечатать.
Лист с договором, Лист с актом выполненных работ, 65 листов с заказ-нарядами, лист с таблицей информационной ( цены, и прочее).
После заполнения листа с данными, нужно вывести на печать “заказ-наряд”, “договор”, “акт”.
Листы с заказ-нарядами называются “1”, “2”, “3”. и так далее
На текущий момент в листе данных выводится инфо-текст типа “напечатайте договор, акт и лист №. ” (номер листа определяется по таблице информации.
Хочется кнопку, которая без поиска и листаний выведет на печать необходимый пакет документов.
Как вывести на печать необходимый лист с заказ-нарядом, если его “номер” определяется по “формуле”.

Буду очень благодарен за помощь!

23.10.2016, 19:05

Макрос для “непрерывной” печати листов книги Excel
Кто-нибудь в курсе, можно ли средствами VBA непрерывно (без разрывов страниц между листами).

Сравнение и копирование из определенных листов книги excel
Добрый день! Помогите решить такую задачку: Есть книга в excel, в ней генерируются листы.

Макрос для построения диаграмм, который бы работал на каждом из листов книги
Всем привет! По роду деятельности приходится работать с большими объемами данных, часто.

макрос для обьединения таблиц со всех листов одной книги в одну
как обьединить таблицы или все листы в одной книге в один лист

24.10.2016, 13:39 2

Так сделайте себе такую кнопку. В чём проблема?

27.10.2016, 14:00 [ТС] 3

Не понимаю Вашу попытку пошутить. Ведь название данной ветки “Форум VBA”, что путем не хитрых умозаключений приводит человека, обладающего логическим мышлением (именно поэтому я обратился за помощью именно сюда), к выводу, что проблема именно в написании макроса для кнопки, который выполнял бы вышеозначенные функции.

Материала на форуме не нашел. только как напечатать определенный лист в книге, если знаешь его название.
Но как напечатать лист, название которого – цифра, которая определяется рассчетной формулой?
Вот в чем вопрос.

Попробую еще раз объяснить:
В зависимости от работ, выполняемых, нужно один из 62 листов.
Могу каждой “работе” задать соответствие в виде цифры (так и сделано).
В данный момент выводится текст типа “Напечатайте лист № 3” (цифра “3” взята для примера).
Но нужен макрос, который автоматически печатал бы нужный лист.
Допустим формула будет такая: “Данные_клиента!K9+Акт_работ!I7” (просто для примера)
Эта формула определяет цифру, которая соответствует номеру листа с наряд-заказом.
И именно этот определенный лист надо напечатать

Источник: www.cyberforum.ru

Выборочная печать листов в Excel? Печать документов в Excel

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

Для начала рассмотрим различные возможности, которые предоставляет Excel для печати данных, содержащихся в рабочих книгах, а для определенности остановимся на Excel 2007. В других версиях могут отличаться пункты меню и их названия, а по сути, все действия предельно похожи. Для избежания путаницы определимся с терминами: лист – это часть рабочей книги Excel, а страница – это часть листа, ограниченная размерами бумажного носителя, на который производится печать документа.

Для удобства выведем значок «Быстрая печать» на панель быстрого доступа.

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

Как распечатать диапазон ячеек?

Выделить необходимый для печати диапазон ячеек, после чего перейти на вкладку «Разметка страницы» и в группе «Параметры страницы» зайти в меню кнопки «Область печати» после чего выбрать пункт «Задать». Таким образом, задается область печати и щелчок по кнопке «Быстрая печать» отправит эту область на принтер.

Как распечатать страницу или несколько страниц листа?

Для того чтобы распечатать определенную страницу документа, расположенного на листе рабочей книги Excel, необходимо щелкнуть по кнопке «Office» в левом верхнем углу окна, в меню типичных команд навести курсор на пункт печать и в списке команд выбрать одноименный пункт «Печать». Откроется окно «Печать». Окно «Печать» можно вызвать также сочетанием горячих клавиш Ctrl+P (P- это первая буква от английского слова print).

Выбрав в этом окне опцию «Страницы» можно задать регуляторами значения нужных страниц и при необходимости можно задать число копий в группе «Копии». Для отправки выбранных страниц на принтер нажимается кнопка «ОК».

Как распечатать таблицу?

Для печати таблицы данных, необходимо выделить любую ячейку из этой таблицы, после чего вызвать окно «Печать» сочетанием горячих клавиш Ctrl+P, либо через кнопку «Office»/пункт «Печать»/кнопку «Печать». В этом окне, в группе «Вывести на печать» нужно активировать опцию «Таблицу», при необходимости задать число копий и нажать кнопку «ОК» для запуска процесса печати.

Как распечатать лист?

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

Как распечатать несколько листов?

В окне открытой книги необходимо выделить нужные листы, щелкая по их ярлыкам с нажатой клавишей Ctrl. После этого надо вызвать окно «Печать» одним из вышеописанных способов, например через сочетание клавиш Ctrl+P. При необходимости можно установить число копий (оно не должно превышать 999) и снять/установить флажок у пункта «Разобрать по копиям». При включенном флажке принтер распечатает документ, начиная с первой и заканчивая по последней страницей заданное количество раз, а при отключенном, сначала первую страницу документа заданное число раз, затем вторую и так далее.

Как распечатать книгу?

Для печати всей книги целиком, то есть всех страниц на всех листах открытой рабочей книги необходимо вызвать окно «Печать» одним из двух способов, описанных выше (например, нажав Ctrl+P) и в группе опций «Вывести на печать» выбрать пункт «Всю книгу».

Как распечатать несколько книг?

При печати нескольких книг действует одно ограничение – все файлы этих книг должны находиться в одной папке. Через кнопку «Office» и пункт меню типичных команд «Открыть» (либо нажатием сочетания клавиш Ctrl+O) необходимо выбрать папку, в которой расположены файлы книг и при нажатой клавише Ctrl поочередно щелкнуть по всем нужным файлам книг. После этого в окне «Открытие документа» надо раскрыть меню кнопки «Сервис» и выбрать пункт «Печать».

Как распечатать несколько листов в нескольких книгах?

А что если необходимо распечатать по одному или по несколько листов из множества файлов? Или отправить на печать лист с определенным названием, из выбранных рабочих книг? Придется либо перебирать один за другим все файлы книг, отправляя на печать нужные листы, либо печатать полностью все книги, а затем выбрасывать в корзину бумажные листы с отпечатанными лишними данными. Оптимально решить эту задачу поможет надстройка для Excel, в диалоговом окне которой можно выбрать необходимые для печати файлы и задать номера или имена листов, которые требуется распечатать.

Надстройка позволяет:

1. Одним кликом мыши вызывать диалоговое окно надстройки прямо из панели инструментов Excel;

2. выбирать необходимые файлы для печати;

3. задавать по имени или по номерам листы из выбранных файлов для печати;

4. при необходимости задавать поля, аналогично тому, как это делается при стандартной печати;

5. изменять ориентацию страниц с книжной на альбомную;

6. устанавливать количество копий;

7. задавать номера страниц для печати (если номера не установлены, то на печать отправляются все страницы);

8. устанавливать масштаб в процентах от натуральной величины (в пределах от 10 до 400).

*Для этой надстройки действует следующее ограничение: через диалоговое окно изменить можно только поля, количество копий, номера и ориентацию страниц.

Как распечатать первые (либо другие заданные) страницы всех (либо только определенных) листов в книгах Excel?

При помощи представленной выше надстройки можно решить и еще более сложную задачу. Например, распечатать только первые страницы на всех листах рабочей книги, отправить на печать любую страницу, либо диапазон страниц на листах, определенных пользователем. Запустить выборочную печать страниц и листов как в одной, так и в нескольких рабочих книгах.

Источник: macros-vba.ru

Атанас Йонков Блоггер, Веб-разработчик
yonkov.atanas@gmail.com

В этом уроке я покажу Вам самые популярные макросы в VBA Excel, которые вы сможете использовать для оптимизации своей работы. VBA – это язык программирования, который может использоваться для расширения возможностей MS Excel и других приложений MS Office. Это чрезвычайно полезно для пользователей MS Excel, поскольку VBA может использоваться для автоматизации вашей работы и значительно увеличить Вашу эффективность. В этой статье Вы познакомитесь с VBA и я вам покажу некоторые из наиболее полезных, готовых к использованию примеров VBA. Вы сможете использовать эти примеры для создания собственных скриптов, соответствующих Вашим потребностям.

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

Я подготовил для вас несколько самых полезных примеров VBA Excel с большой функциональностью, которую вы сможете использовать для оптимизации своей работы. Чтобы их использовать, вам необходимо записать их в файл. Следующий параграф посвящен установке макроса Excel. Пропустите эту часть, если вы уже знакомы с этим.

Table of Contents

Как включить макросы в Excel

В Excel нажмите комбинацию клавиш alt + F11. Это приведет вас к редактору VBA в MS Excel. Затем щелкните правой кнопкой мыши папку Microsoft Excel Objects слева и выберите Insert => Module. Это место, где сохраняются макросы. Чтобы использовать макрос, вам нужно сохранить документ Excel как макрос. Из табуляции File => Save as, выберите Save as macro-enabled Workbok (расширение .xlsm) Теперь пришло время написать свой первый макрос!

1. Копирование данных из одного файла в другой.

Очень полезный макрос, поскольку он показывает, как скопировать ряд данных изнутри vba и как создать и назвать новую книгу. Вы можете изменить этот макрос в соответствии с вашими собственными требованиями:

2. Отображение скрытых строк

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

3. Удаление пустых строк и столбов

Пустые строки в Excel – может быть проблемой для обработки данных. Вот как избавиться от них:

4. Нахождение пустых ячеек

13. Создание сводной таблицы

14. Отправка активного файла по электронной почте

Мой любимый код VBA. Он позволяет вам прикреплять и отправлять файл, с которым вы работаете, с предопределенным адресом электронной почты, заголовком сообщения и телом сообщения! Сначала Вам нужно сделать референцию в Excel на Microsoft Outlook (в редакторе Excel VBA, нажмите tools => references и выберите Microsoft Outlook).

15. Вставка всех графиков Excel в презентацию PowerPoint

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

16. Вставка таблицы Excel в MS Word

Таблицы Excel обычно помещаются внутри текстовых документов. Вот один автоматический способ экспорта таблицы Excel в MS Word:

17. Извлечение слов из текста

Мы можем использовать формулы, если хотим извлечь определенное количество символов. Но что, если мы хотим извлечь только одно слово из предложения или диапазон слов в ячейке? Для этого мы можем сами создать функцию Excel с помощью VBA. Это одна из самых удобных функций VBA, поскольку она позволяет создавать собственные формулы, которые отсутствуют в MS Excel. Давайте продолжим и создадим две функции: findword() и findwordrev():

Отлично, мы уже создали две новые функции в Excel! Теперь попробуйте использовать их в Excel. Функция = FindWordRev (A1,1) берет последнее слово из ячейки A1. Функция = FindWord (A1,3) берет третье слово из ячейки A1 и т. Д.

18. Защита данных в MS Excel

Иногда мы хотим защитить данных нашего файла, чтобы только мы могли его изменять. Вот как это сделать с VBA:

Поздравления! Поскольку вы все еще читаете это, вы действительно заинтересованы в изучении VBA. Как вы уже сами видели, язык программирования VBA чрезвычайно полезен и может сэкономить нам много времени. Надеюсь, вы нашли эту информацию полезной и использовали ее, чтобы стать мастером MS Excel, VBA и компьютерных наук в целом.

Источник: yonkov.github.io

Назначение макроса форме или кнопке элемента управления

Вы можете использовать кнопку элемента управления формы или кнопку команды (элемент ActiveX) для запуска макроса, выполняющего действия при нажатии пользователем. Обе эти кнопки также называются кнопкой “Отправить”, которую можно настроить для автоматизации печати листа, фильтрации данных или вычисления чисел. Как правило, кнопки элемента управления формы и кнопки элемента управления ActiveX похожи на внешний вид и функции. Однако у них есть несколько отличий, которые описаны в следующих разделах.

Кнопка (элемент управления формы)

Командная кнопка (элемент ActiveX)

В следующих разделах приведены инструкции по добавлению макроса на кнопку в Excel (для Windows или Mac).

Примечание: Элементы ActiveX не поддерживаются на компьютере Mac.

Макросы и средства VBA можно найти на вкладке разработчик , которая по умолчанию скрыта.

Первый этап — включить его. Дополнительные сведения можно найти в статье: Отображение вкладки Разработчик.

Добавление кнопки (элемент управления формы)

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

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

Назначьте кнопку макроса, а затем нажмите кнопку ОК.

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

Кнопка “добавить команду” (элемент ActiveX)

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

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

В группе элементы управления нажмите кнопку Просмотреть код. Откроется редактор Visual Basic. Убедитесь в том, что выбран пункт в раскрывающемся списке справа. Процедура Sub CommandButton1_Click (на рисунке ниже) выполняет два макроса при нажатии кнопки: SelectC15 и хелломессаже.

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

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

При необходимости добавьте собственный код VBA.

Закройте редактор Visual Basic и щелкните режим конструктора , чтобы включить режим конструктора.

Чтобы запустить код VBA, который теперь входит в состав кнопки, щелкните только что созданную кнопку ActiveX.

Чтобы изменить элемент ActiveX, убедитесь, что выбран режим конструктора. На вкладке Разработчик в группе Элементы управления нажмите кнопку Режим конструктора.

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

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

Откроется диалоговое окно Свойства . Для получения дополнительных сведений о каждом свойстве выберите свойство и нажмите клавишу F1, чтобы отобразить соответствующий раздел справка по Visual Basic. Можно также ввести имя свойства в поле Поиск справки Visual Basic. В приведенной ниже таблице перечислены доступные свойства.

Загружается ли элемент управления при открытии книги. (Не учитывается для элементов ActiveX).

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

Можно ли изменять элемент управления

Имя элемента управления

Способ привязки элемента управления к расположенным под ним ячейкам (не закреплен, можно перемещать, но нельзя изменять размер, можно перемещать и изменять размер)

Можно ли выводить элемент управления на печать

Является ли элемент управления видимым или скрытым

Атрибуты шрифта (полужирный, курсив, размер, зачеркивание, подчеркивание и насыщенность)

Bold, Italic, Size, StrikeThrough, Underline, Weight (форма)

Поясняющий текст элемента управления, определяющий или описывающий его

Будет ли содержимое элемента управления переноситься по словам в конце строки

Размер и положение

Будет ли размер элемента управления изменяться автоматически для отображения всего содержимого

Высота или ширина в пунктах

Height, Width (форма)

Расстояние от элемента управления до левого или верхнего края листа

Стиль фона (прозрачный или непрозрачный)

Цвет переднего плана

Наличие тени элемента управления

Точечный рисунок, отображаемый в элементе управления

Положение рисунка относительно его заголовка (слева, сверху, справа и так далее)

Клавиатура и мышь

Сочетание клавиш для элемента управления

Настраиваемый значок мыши

Тип указателя, отображаемого при наведении пользователем указателя мыши на определенный объект (стандартная, стрелка, I-образная и т. д.).

Принимает ли элемент управления фокус при щелчке.

Макросы и средства VBA можно найти на вкладке ” разработчик “, которая скрыта по умолчанию, поэтому первым делом нужно включить ее.

Перейдите в раздел настройки > Excel . Панель инструментов & > ленты.

В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.

Добавление кнопки (элемент управления формы)

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

На вкладке разработчик нажмите кнопку .

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

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

Назначение макроса кнопке и нажатие кнопки ОК.

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

Кнопка добавления команды (элемент управления Visual Basic)

На вкладке разработчик нажмите кнопку .

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

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

В диалоговом окне Назначение макроса нажмите кнопку создать, после чего откроется Редактор Visual Basic ( VBE) на панели с помощью следующего кода:

В подпроцедуре для кнопки Command между дочерними и конечными подстроками выполните одно из указанных ниже действий.

Введите имя существующего макроса в книге. Вы можете запускать несколько макросов с помощью кнопки, вводя их имена на отдельных строках внутри процедуры Sub.

Добавьте собственный код VBA.

Щелкните режим конструктора , чтобы убедиться в том, что режим конструктора выключен, а затем закройте окно редактора Visual Basic.

Чтобы изменить кнопку, щелкните ее правой кнопкой мыши и выберите команду Visual Basic.

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

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

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

См. также

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Источник: support.office.com

Добавить комментарий

Adblock
detector