Макросы 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).

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

  • выполните команду Файл | Печать;
  • в появившемся диалоговом окне Печать в области Печатать введите номера страниц с 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.

Как в Excel печать работает: делаем правильно

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

Печать листов Excel

Чтобы распечатать лист Эксель, воспользуйтесь одним из способов:

  1. Нажмите комбинацию клавиш Ctrl+P , откроется окно Печать , в котором есть соответствующая кнопка Печать и некоторые дополнительные настройки
  2. Выполните на ленте Файл – Печать . Откроется то же самое окно.
  3. Добавьте на панель быстрого доступа команду Быстрая печать . При быстрой печати, программа не предложит задать параметры печати, будут использованы текущие настройки, на принтер выводится та область листа, которая содержит данные. Чтобы использовать эту функцию, необходимо предварительно настроить все параметры печати для своей рабочей книги, иначе результат может вас разочаровать. Вообще, я сторонник того, чтобы все документы, которые вы часто используете, были всегда настроены и готовы к печати. В любой момент.

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

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

Окно «Печать» в Эксель

В окне печать можно сделать следующие установки:

  1. Копии – количество копий документа, которое нужно распечатать
  2. Принтер – выбрать принтер из списка подключенных к компьютеру
  3. Настройка имеет подпункты:
    1. Область печати – можно выбрать что именно вы хотите распечатать: активные (выделенные) листы, всю книгу, выделенный фрагмент
    2. Страницы – указать диапазон страниц, которые вывести на печать
    3. Разобрать по копиям – выбрать порядок листов при печати нескольких копий
    4. Ориентация – применить книжную или альбомную ориентацию страницы
    5. Размер листа – размеры бумажного листа, на котором осуществляется печать
    6. Поля – задать размеры полей
    7. Масштаб печати – вписать данные в лист

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

Область печати в Microsoft Excel

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

Чтобы очистить области печати, выполните Разметка страницы – Параметры страницы – Область печати – Убрать .

Как задать область печати

Дополнительные возможности печати

Майкрософт Эксель предлагает специфические возможности печати. Если нужно вывести на печать сетку ячеек, установите галочку Разметка страницы – Параметры листа – Сетка – Печать .

Аналогично, чтобы распечатать заголовки строк и столбцов, должна быть установлена галка Разметка страницы – Параметры листа – Заголовки – Печать .

Печать сетки и заголовков

Хочу добавить: если вы используете фоновое изображение рабочего листа, оно не будет распечатано. Если нужно распечатать картинку – вставьте её на лист, но без привязки к фону.

Вот так легко можно распечатать результаты своей работы. Дерзайте, удачной вам печати и хороших оттисков. Если что-то из описанного у вас не получилось – задавайте вопросы в комментариях.

Не стесняйтесь подписываться на обновления, тогда уж точно ничего не пропустите!

Кстати, в следующих постах я начну рассматривать самое интересное – формулы и функции. Заходите, читайте, пользуйтесь!

Создание кнопки в Microsoft Excel

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

Процедура создания

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

Способ 1: автофигура

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

  1. Производим перемещение во вкладку «Вставка». Щелкаем по значку «Фигуры», который размещен на ленте в блоке инструментов «Иллюстрации». Раскрывается список всевозможных фигур. Выбираем ту фигуру, которая, как вы считаете, подойдет более всего на роль кнопки. Например, такой фигурой может быть прямоугольник со сглаженными углами.

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

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

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

Способ 2: стороннее изображение

В качестве кнопки можно также использовать сторонний рисунок.

  1. Находим стороннее изображение, например, в интернете, и скачиваем его себе на компьютер.
  2. Открываем документ Excel, в котором желаем расположить объект. Переходим во вкладку «Вставка» и кликаем по значку «Рисунок», который расположен на ленте в блоке инструментов «Иллюстрации».

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

После этого изображение добавляется на плоскость рабочего листа. Как и в предыдущем случае, его можно сжать, перетягивая границы. Перемещаем рисунок в ту область, где желаем, чтобы размещался объект.

После этого к копке можно привязать гиперссылку, таким же образом, как это было показано в предыдущем способе, а можно добавить макрос. В последнем случае кликаем правой кнопкой мыши по рисунку. В появившемся контекстном меню выбираем пункт «Назначить макрос…».

  • Открывается окно управление макросами. В нем нужно выделить тот макрос, который вы желаете применять при нажатии кнопки. Этот макрос должен быть уже записан в книге. Следует выделить его наименование и нажать на кнопку «OK».
  • Теперь при нажатии на объект будет запускаться выбранный макрос.

    Способ 3: элемент ActiveX

    Наиболее функциональной кнопку получится создать в том случае, если за её первооснову брать элемент ActiveX. Посмотрим, как это делается на практике.

      Для того чтобы иметь возможность работать с элементами ActiveX, прежде всего, нужно активировать вкладку разработчика. Дело в том, что по умолчанию она отключена. Поэтому, если вы её до сих пор ещё не включили, то переходите во вкладку «Файл», а затем перемещайтесь в раздел «Параметры».

    В активировавшемся окне параметров перемещаемся в раздел «Настройка ленты». В правой части окна устанавливаем галочку около пункта «Разработчик», если она отсутствует. Далее выполняем щелчок по кнопке «OK» в нижней части окна. Теперь вкладка разработчика будет активирована в вашей версии Excel.

    После этого перемещаемся во вкладку «Разработчик». Щелкаем по кнопке «Вставить», расположенной на ленте в блоке инструментов «Элементы управления». В группе «Элементы ActiveX» кликаем по самому первому элементу, который имеет вид кнопки.

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

    Кликаем по получившемуся элементу двойным щелчком левой кнопки мыши.

  • Открывается окно редактора макросов. Сюда можно записать любой макрос, который вы хотите, чтобы исполнялся при нажатии на данный объект. Например, можно записать макрос преобразования текстового выражения в числовой формат, как на изображении ниже. После того, как макрос записан, жмем на кнопку закрытия окна в его правом верхнем углу.
  • Теперь макрос будет привязан к объекту.

    Способ 4: элементы управления формы

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

      Переходим во вкладку «Разработчик» и кликаем по знакомой нам кнопке «Вставить», размещенной на ленте в группе «Элементы управления». Открывается список. В нем нужно выбрать первый же элемент, который размещен в группе «Элементы управления формы». Данный объект визуально выглядит точно так же, как и аналогичный элемент ActiveX, о котором мы говорили чуть выше.

    Объект появляется на листе. Корректируем его размеры и место расположения, как уже не раз делали ранее.

  • После этого назначаем для созданного объекта макрос, как это было показано в Способе 2 или присваиваем гиперссылку, как было описано в Способе 1.
  • Как видим, в Экселе создать функциональную кнопку не так сложно, как это может показаться неопытному пользователю. К тому же данную процедуру можно выполнить с помощью четырех различных способов на свое усмотрение.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

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

    Вы можете использовать кнопку элемента управления формы или кнопку команды (элемент 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. В приведенной ниже таблице перечислены доступные свойства.

    Как в Excel печать работает: делаем правильно

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

    Печать листов Excel

    Чтобы распечатать лист Эксель, воспользуйтесь одним из способов:

    1. Нажмите комбинацию клавиш Ctrl+P , откроется окно Печать , в котором есть соответствующая кнопка Печать и некоторые дополнительные настройки
    2. Выполните на ленте Файл – Печать . Откроется то же самое окно.
    3. Добавьте на панель быстрого доступа команду Быстрая печать . При быстрой печати, программа не предложит задать параметры печати, будут использованы текущие настройки, на принтер выводится та область листа, которая содержит данные. Чтобы использовать эту функцию, необходимо предварительно настроить все параметры печати для своей рабочей книги, иначе результат может вас разочаровать. Вообще, я сторонник того, чтобы все документы, которые вы часто используете, были всегда настроены и готовы к печати. В любой момент.

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

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

    Окно «Печать» в Эксель

    В окне печать можно сделать следующие установки:

    1. Копии – количество копий документа, которое нужно распечатать
    2. Принтер – выбрать принтер из списка подключенных к компьютеру
    3. Настройка имеет подпункты:
      1. Область печати – можно выбрать что именно вы хотите распечатать: активные (выделенные) листы, всю книгу, выделенный фрагмент
      2. Страницы – указать диапазон страниц, которые вывести на печать
      3. Разобрать по копиям – выбрать порядок листов при печати нескольких копий
      4. Ориентация – применить книжную или альбомную ориентацию страницы
      5. Размер листа – размеры бумажного листа, на котором осуществляется печать
      6. Поля – задать размеры полей
      7. Масштаб печати – вписать данные в лист

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

    Область печати в Microsoft Excel

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

    Чтобы очистить области печати, выполните Разметка страницы – Параметры страницы – Область печати – Убрать .

    Как задать область печати

    Дополнительные возможности печати

    Майкрософт Эксель предлагает специфические возможности печати. Если нужно вывести на печать сетку ячеек, установите галочку Разметка страницы – Параметры листа – Сетка – Печать .

    Аналогично, чтобы распечатать заголовки строк и столбцов, должна быть установлена галка Разметка страницы – Параметры листа – Заголовки – Печать .

    Печать сетки и заголовков

    Хочу добавить: если вы используете фоновое изображение рабочего листа, оно не будет распечатано. Если нужно распечатать картинку – вставьте её на лист, но без привязки к фону.

    Вот так легко можно распечатать результаты своей работы. Дерзайте, удачной вам печати и хороших оттисков. Если что-то из описанного у вас не получилось – задавайте вопросы в комментариях.

    Не стесняйтесь подписываться на обновления, тогда уж точно ничего не пропустите!

    Кстати, в следующих постах я начну рассматривать самое интересное – формулы и функции. Заходите, читайте, пользуйтесь!

    на листе экселя кнопка для отправки на печать

    koyaanisqatsi

    Дата: Среда, 04.02.2015, 10:04 |
    Сообщение № 1

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 712


    Репутация:

    15

    ±

    Замечаний:
    0% ±


    Excel 2010

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

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

    К сообщению приложен файл:

    7531803.xlsx
    (55.6 Kb)

     

    Ответить

    SLAVICK

    Дата: Среда, 04.02.2015, 11:13 |
    Сообщение № 2

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2290


    Репутация:

    766

    ±

    Замечаний:
    0% ±


    2019

    Изменил сообщение, еще раз :o :(

    [vba]

    Код

    Sub dd()
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=»Microsoft XPS Document Writer»‘ Вместо «Microsoft XPS Document Writer» — впишите нужный принтер
    End Sub

    [/vba]
    На первый взгляд — то что нужно :D
    Чтоб вернуть принтер назад:
    Application.ActivePrinter = «MyPrinter» ‘ Вместо MyPrinter вписать нужный принтер.

    Взял здесь

    К сообщению приложен файл:

    7531803.xlsm
    (55.8 Kb)


    Иногда все проще чем кажется с первого взгляда.

    Сообщение отредактировал SLAVICKСреда, 04.02.2015, 12:02

     

    Ответить

    SLAVICK

    Дата: Среда, 04.02.2015, 12:08 |
    Сообщение № 3

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2290


    Репутация:

    766

    ±

    Замечаний:
    0% ±


    2019

    Подкорректировал макрос :D

    [vba]

    Код

    Sub Отправка_листа_на_нужный_принтер()
    Dim aPr$
    aPr = Application.ActivePrinter
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=»Microsoft XPS Document Writer» ‘ Вместо «Microsoft XPS Document Writer» — впишите нужный принтер
    Application.ActivePrinter = aPr ‘ Возврат активного принтера
    End Sub

    [/vba]


    Иногда все проще чем кажется с первого взгляда.

    Сообщение отредактировал SLAVICKСреда, 04.02.2015, 12:09

     

    Ответить

    koyaanisqatsi

    Дата: Четверг, 05.02.2015, 09:41 |
    Сообщение № 4

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 712


    Репутация:

    15

    ±

    Замечаний:
    0% ±


    Excel 2010

    Обалдеть красота ! ! ! Счастье )))) Все работает.

     

    Ответить

    koyaanisqatsi

    Дата: Четверг, 05.02.2015, 10:17 |
    Сообщение № 5

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 712


    Репутация:

    15

    ±

    Замечаний:
    0% ±


    Excel 2010

    К теме наверно уже не относится только непонятно что делать с таким явлением. Я не знаю от чего это зависит и будет ли менятся в дальнейшем. Принтер на который надо послать пока называется так «ZDesigner GC420d (перенаправлено 19)» Меня вот конкретно это смущает » (перенаправлено 19)» вижу в списках часто что за принтером пишется такая зяба и цифры разные. Если для этого номер изменится то по кнопке и печать не пойдет (

     

    Ответить

    SLAVICK

    Дата: Четверг, 05.02.2015, 11:35 |
    Сообщение № 6

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2290


    Репутация:

    766

    ±

    Замечаний:
    0% ±


    2019

    Так воспользуйтесь проверкой наличия принтера в списке доступных.
    Вы же в теме спрашивали про список доступных принтеров :D
    Если нужный принтер есть — печатаем, если нет — предлагаем выбрать из списка, или выходим… как то так <_<
    [vba]

    Код

    Sub Отправка_листа_на_нужный_принтер_c_проверкой()
    Dim aPr$, s$, AllPrinters As Object, printer As Object, n%, m, primary_printer$, print_name$
    primary_printer = «doPDF v9» ‘ Вместо «doPDF v7» — впишите нужный принтер по умолчанию
    aPr = Application.ActivePrinter
    Set AllPrinters = GetObject(«winmgmts://./root/CIMV2»).ExecQuery(«SELECT * FROM Win32_Printer», , 48)
    ‘Получаем список принтеров
         For Each printer In AllPrinters
             n = n + 1
             s = s & vbCr & n & «: » & printer.name
             If printer.name = primary_printer Then print_name = primary_printer: Exit For ‘ если primary_printer найден в списке доступных
         Next
         s = Right(s, Len(s) — 1)
    ‘Если такого принтера не найдено:
    If print_name = «» Then
         If InStr(1, s, vbCr, vbTextCompare) = 0 Then MsgBox «Error no printers»: Exit Sub
         m = Split(s, vbCr)
         n = InputBox(«input Number of printer:» & vbCr & s, «Not found:» & primary_printer, 1)
         If n > UBound(m) Or n = 0 Then MsgBox «Error no printers with this number»: Exit Sub
         print_name = Split(m(n — 1), » «, 2)(1)
    End If
    ‘===============================
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=print_name
    Application.ActivePrinter = aPr ‘ Возврат активного принтера
    End Sub

    [/vba]

    К сообщению приложен файл:

    2632828.xlsm
    (55.4 Kb)


    Иногда все проще чем кажется с первого взгляда.

    Сообщение отредактировал SLAVICKЧетверг, 05.02.2015, 23:21

     

    Ответить

    koyaanisqatsi

    Дата: Пятница, 06.02.2015, 12:18 |
    Сообщение № 7

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 712


    Репутация:

    15

    ±

    Замечаний:
    0% ±


    Excel 2010

    SLAVICK, ОГО !

    Спасибо доберусь до этого макроса в Понедельник но думаю что все будет работать Спасибо огромное )

     

    Ответить

    koyaanisqatsi

    Дата: Понедельник, 16.02.2015, 14:53 |
    Сообщение № 8

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 712


    Репутация:

    15

    ±

    Замечаний:
    0% ±


    Excel 2010

    SLAVICK, Еще раз спасибо. Макрос работает почти идеально.
    Внедрил. Отчитываюсь о работе.

    1. Если при выборе принтера нажать эскейп то выдает сообщение об ошибке. Дебаг в строке
    [vba]

    Код

        n = InputBox(«input Number of printer:» & vbCr & s, «Not found:» & primary_printer, 1)

    [/vba]

    2. После отправки на печать если все хорошо сам эксель или макрос подвешивается на секунды 3-5 где-то. Наверно это плохо.

    Скорее всего второе важнее чем первое.

    И еще маленький вопросик. Если я создам отдельную страницу для того что бы этот макрос брал оттуда название принтера. Как это написать в самом макросе ? просто тут такая проблемака что имя принтера не статично вчера допустим было ZDesigner GC420d (перенаправлено 16) а завтра будет к примеру ZDesigner GC420d (перенаправлено 21)

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

    Заранее благодарен.

    Сообщение отредактировал koyaanisqatsiПонедельник, 16.02.2015, 14:58

     

    Ответить

    SLAVICK

    Дата: Понедельник, 16.02.2015, 15:53 |
    Сообщение № 9

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2290


    Репутация:

    766

    ±

    Замечаний:
    0% ±


    2019

    1. исправьте строку на:
    [vba]

    Код

    n = Val(InputBox(«input Number of printer:» & vbCr & s, «Not found:» & primary_printer, 1))

    [/vba]
    2. возможно(у меня нет задержек). Макрос изменяет активность принтера(два раза на указанный, а потом на первоначальный). Если принтер сетевой- нужно ему отправить запрос, и получить с него ответ. Тут вопрос быстродействия связи сетки… Кроме того изменяются параметры печати согласно этому принтеру. Чем больше документ, тем больше нужно изменять. Не думаю, что это можно как-то исправить
    3. так укажите полный путь к ячейке с листом например:
    [vba]

    Код

    primary_printer = Sheets(«printer»).Cells(1, «a»).Value ‘ Вместо «doPDF v7» — впишите нужный принтер по умолчанию

    [/vba]

    К сообщению приложен файл:

    2649787.xlsm
    (60.1 Kb)


    Иногда все проще чем кажется с первого взгляда.

    Сообщение отредактировал SLAVICKПонедельник, 16.02.2015, 15:56

     

    Ответить

    koyaanisqatsi

    Дата: Понедельник, 16.02.2015, 16:29 |
    Сообщение № 10

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 712


    Репутация:

    15

    ±

    Замечаний:
    0% ±


    Excel 2010

    SLAVICK, Спасибо.
    А чтобы он сохранял в ячейку последний выбранный если не нашел предыдущий принтер так можно ? Или придется самостоятельно в той ячейке исправлять название принтера на новое текущее если изменится последнее число в названии принтера ?

    С сетью понял, мы посылаем с сервера на локальный принтер. Хотя если без макроса посылать такой задержки нет. Ну ладно. Остальное все работает кроме сохранения последнего выбранного принтера в ячейку на странице printer в A1

    Сообщение отредактировал koyaanisqatsiПонедельник, 16.02.2015, 16:40

     

    Ответить

    SLAVICK

    Дата: Понедельник, 16.02.2015, 18:44 |
    Сообщение № 11

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2290


    Репутация:

    766

    ±

    Замечаний:
    0% ±


    2019

    Можно. :D
    после
    [vba]

    Код

    print_name = Split(m(n — 1), » «, 2)(1)

    [/vba]
    добавьте:
    [vba]

    Код

    Sheets(«printer»).Cells(1, «a»).Value = print_name

    [/vba]

    К сообщению приложен файл:

    1777020.xlsm
    (60.3 Kb)


    Иногда все проще чем кажется с первого взгляда.

     

    Ответить

    koyaanisqatsi

    Дата: Вторник, 17.02.2015, 10:12 |
    Сообщение № 12

    Группа: Проверенные

    Ранг: Ветеран

    Сообщений: 712


    Репутация:

    15

    ±

    Замечаний:
    0% ±


    Excel 2010

    SLAVICK, Не зря я этим обеспокоился )
    Отлично работает. И имя принтера конечно же уже поменялось. Но теперь проблема не проблема )

     

    Ответить

    Добрый день!

    Есть кнопка, которая запускает следующий макрос:

    Sub SaveThisBook3()
    Dim FolderName2 As Range
      Set FolderName2 = ThisWorkbook.Worksheets(«Лист1»).Range(«G1»)
    Dim PathToSave As String, FolderName As String, FellPathToSave As String
    Dim fs As Object
    PathToSave = «P:2010» ‘<————— Здесь укажи путь к папке в которую нужно сохранить книгу
    FolderName = FolderName2 ‘<————— Здесь задай название папки
    FellPathToSave = PathToSave & FolderName & «»
    Set fs = CreateObject(«Scripting.FileSystemObject»)
    If Not fs.FolderExists(FellPathToSave) Then
       fs.CreateFolder (FellPathToSave)
    End If
    Application.ThisWorkbook.SaveAs FellPathToSave & «Приход » & Left(Now, 10) & «.xlsx»
    End Sub

    Этот макрос привязан к кнопке, при нажатию на которую создается в указанном каталоге новая папка, имя которой берется из ячейки и туда же, под тем же именем, сохраняется сам файл.

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

    Спасибо.


    В Excel есть такая замечательная штука как Запись макроса (Сервис -> Макрос -> …). Выполнив после начала записи определённые действия, например такие как печать, сохранение, добавление листов, данных в ячейки… да чего угодно, можно получить готовенький код макроса.

    Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли


    Спасибо!

    Попробовал записать, вот что получилось:

    Sub mAcros1()

    ‘ mAcros1 Макрос
    ‘ mm


        Application.Run Range()
        Application.ActivePrinter = «\192.168.1.45PRINTERCC245 (Ne02:)»
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            «\192.168.1.45PRINTERCC245 (Ne02:)», Collate:=True
    End Sub

    Выдает ошибку:

    Copmpile error: argument not optimal


    Во-первых, свою процедуру нельзя называть Range() (это зарезервированное имя Excel), а, во-вторых, программный запуск другого макроса должен выглядеть так:

    Application.Run "Книга1!My_Range"

    Или что за действие там у тебя первой строкой перед печатью должно происходить?

    Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли


    Я тыкаю на кнопку, которая создает каталог и сохраняет туда файл, а потом вызываю диалог печати и печатаю содерждимое файла.


    Предлагаю поменять последовательность с такой:

    Sub Макрос1()
      'Нажатие кнопки
      'Печать
    End Sub

    Private Sub CommandButton1_Click()
      'Сохранение файла
    End Sub

    на такую:

    Sub Макрос1()
      'Раньше здесь был код, записанный макрорекордером.
      'Теперь же, когда мы узнали как нужно автоматически запускать на печать,
      'код более не требуется
    End Sub

    Private Sub CommandButton1_Click()
      'Сохранение файла
      'Печать
    End Sub

    Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли


    C VBA сталкиваюсь первый раз! создал кнопку прописал макрос:

    Sub Кнопка2_Щелчок()
    Dim FolderName2 As Range
      Set FolderName2 = ThisWorkbook.Worksheets(«НСС»).Range(«Y1»)
    Dim PathToSave As String, FolderName As String, FellPathToSave As String
    Dim fs As Object
    PathToSave = «D:2010»
    FolderName = FolderName2
    FellPathToSave = PathToSave & FolderName & «»
    Set fs = CreateObject(«Scripting.FileSystemObject»)
    If Not fs.FolderExists(FellPathToSave) Then
       fs.CreateFolder (FellPathToSave)
    End If
    Application.ThisWorkbook.SaveAs FellPathToSave & «VedomostNSS_» & Left(Now, 10) & «.xlsm»
    End Sub

    все отлично работает, но мне необходимо чтобы к имени файла добавлялось не просто дата а еще и время. В Y1 у меня стоит функция =СЕГОДНЯ(), если меняю на =TDATA(), то выдает ошибку. В чем причина ???


    Цитата: Gery от 29.07.2010, 14:29
    но мне необходимо чтобы к имени файла добавлялось не просто дата а еще и время.

    Чтобы вместе со временем нужно просто заменить эту строку:

    Application.ThisWorkbook.SaveAs FellPathToSave & "VedomostNSS_" & Left(Now, 10) & ".xlsm"

    На такую:

    Application.ThisWorkbook.SaveAs FellPathToSave & "VedomostNSS_" & Now & ".xlsm"
    Но лучше заменять двоеточия и точки на что-нибудь другое. Например так:

    Application.ThisWorkbook.SaveAs FellPathToSave & "VedomostNSS_" & Format(Now, "DD_MM_YYYY HH_MM_SS") & ".xlsm"

    P.S. Хотя и для только даты можно было написать короче:

    Application.ThisWorkbook.SaveAs FellPathToSave & "VedomostNSS_" & Date & ".xlsm"

    Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…
    www.excel-vba.ru
    Просто СПАСИБО [+оказать+]
    Считаешь СПАСИБО мало? Яндекс.Деньги: 41001332272872; WM: R298726502453


    Спасибо, Prist! ТЫ МЕГА МОЗГ!!


    6 / 7 / 1

    Регистрация: 05.11.2013

    Сообщений: 305

    1

    Макрос.Вывод на печать

    04.06.2020, 09:47. Показов 5729. Ответов 8


    Студворк — интернет-сервис помощи студентам

    Книга содержит листы : Январь,Февраль…Декабрь.
    Как заставить машину распечатать листы с Марта по Август ?



    0



    малоболт

    1143 / 442 / 193

    Регистрация: 30.01.2020

    Сообщений: 1,095

    04.06.2020, 10:05

    2

    Цитата
    Сообщение от 0mega
    Посмотреть сообщение

    Как заставить машину распечатать листы с Марта по Август ?

    Если ручками — то просто выделить нужные листы. И потом, на странице настроек печати выбрать:
    Напечатать активные листы.
    Или нужно именно макросом решить?

    Изображения

     



    0



    6 / 7 / 1

    Регистрация: 05.11.2013

    Сообщений: 305

    04.06.2020, 10:46

     [ТС]

    3

    Цитата
    Сообщение от Punkt5
    Посмотреть сообщение

    Или нужно именно макросом решить?

    Цитата
    Сообщение от 0mega
    Посмотреть сообщение

    Макрос.Вывод на печать

    Настоящая тема — это упрощенный вариант моего вопроса.
    В действительности — Листов в книге больше 12-и
    На некоторых листах производятся расчеты и выполняются команды.
    Естественно. перебирать все листы и выделять нужные — эта перспектива мне не в кассу .
    Мне нужен макрос который будет отправлять документ на принтер .
    Написать через компилятор у меня не получилось



    0



    Punkt5

    малоболт

    1143 / 442 / 193

    Регистрация: 30.01.2020

    Сообщений: 1,095

    04.06.2020, 10:52

    4

    Цитата
    Сообщение от 0mega
    Посмотреть сообщение

    Мне нужен макрос который будет отправлять документ на принтер

    Ну, через запись макросов получается так:

    Visual Basic
    1
    2
    
    Sheets(Array("Март", "Апрель", "Май", "Июнь", "Июль", "Август")).Select
    ActiveWindow.SelectedSheets.PrintOut

    Соответственно Array со списком названий листов можно сделать свой и заранее
    Можно и в одну строку попробовать:

    Visual Basic
    1
    
    Sheets(Array("Март", "Апрель", "Май", "Июнь", "Июль", "Август")).PrintOut

    Это поможет?



    0



    6 / 7 / 1

    Регистрация: 05.11.2013

    Сообщений: 305

    04.06.2020, 11:13

     [ТС]

    5

    Цитата
    Сообщение от Punkt5
    Посмотреть сообщение

    Это поможет?

    Поможет или нет — не знаю . Сейчас нет возможности проверить .

    а нельзя ли как-то запись укоротить ?
    что- то типа
    Sheets(3:8)



    0



    Punkt5

    малоболт

    1143 / 442 / 193

    Регистрация: 30.01.2020

    Сообщений: 1,095

    04.06.2020, 11:54

    6

    Цитата
    Сообщение от 0mega
    Посмотреть сообщение

    а нельзя ли как-то запись укоротить ?
    что- то типа
    Sheets(3:8)

    В моей практике не встречалось
    Можно попробовать как-нибудь так:

    Visual Basic
    1
    2
    
    aa=array(3,4,5,6,7,8)
    Sheets(aa).Printout Preview:=True

    Или заполнять массив в цикле. Но обязательно массив. Так, чтобы как с ячейками — указать начальный и конечный номер листа через двоеточие — не видел.



    1



    6 / 7 / 1

    Регистрация: 05.11.2013

    Сообщений: 305

    04.06.2020, 12:11

     [ТС]

    7

    а какой будет код, если надо распечатать все кроме 2-го и 8-го листа ?



    0



    pashulka

    4131 / 2235 / 940

    Регистрация: 01.12.2010

    Сообщений: 4,624

    04.06.2020, 17:58

    8

    0mega, Всё равно на печать листы будут выводить по очереди, стало быть, можно замутить ещё и так :

    Visual Basic
    1
    2
    3
    4
    
    For i = 3 To 8
        Worksheets(i).PrintOut
        'Worksheets(MonthName(i)).PrintOut
    Next

    А выкинуть 2 и 8, так :

    Visual Basic
    1
    2
    3
    
    For i = 1 To Worksheets.Count
        If i <> 2 And i <> 8 Then Worksheets(i).PrintOut
    Next

    P.S. Конечно, если печатать нужно всё время разные листы, то имеет смысл создать UserForm с ListBox.
    У списка разрешить многократное выделение и печатать только выделенные(выбранные) элементы(листы)



    1



    6 / 7 / 1

    Регистрация: 05.11.2013

    Сообщений: 305

    05.06.2020, 08:33

     [ТС]

    9

    pashulka спасибо
    Изюмчик ковырнул



    0



    IT_Exp

    Эксперт

    87844 / 49110 / 22898

    Регистрация: 17.06.2006

    Сообщений: 92,604

    05.06.2020, 08:33

    9

    This free Excel macro displays the print window or dialog box in Excel. This is the same window that would appear when you hit Ctrl+P on your keyboard or when you select Print from the file or Office Button menu.

    This is a great macro to use when you don’t want to give users access to keyboard shortcuts or Excel menus because you can set this macro to a button within the spreadsheet in order to retain print functionality.

    Where to install the macro:  Module

    Excel Macro to Display the Print Window in Excel

    Sub Show_Print_Window()
    'Shows the print window in Excel - Same thing as hitting Ctrl + P in the keyboard

    Application.Dialogs(xlDialogPrint).Show

    End Sub


    Excel VBA Course

    Excel VBA Course — From Beginner to Expert

    200+ Video Lessons
    50+ Hours of Instruction
    200+ Excel Guides

    Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

    View Course

    Similar Content on TeachExcel

    NOW() — Display The Current Time in Excel

    Tutorial: This Excel tip will show you how to display the current time within any Excel spreadsheet….

    Print Preview Display for Specific Worksheets in Excel

    Macro: This free Excel macro allows you to display the print preview mode or window in Excel for …

    Print Preview Screen Display for The Entire Workbook in Excel

    Macro: This free Excel macro allows you to quickly and easily display the print preview windo…

    Print Gridlines in Excel

    Tutorial:
    I’ll teach you how to show gridlines for Excel when you print your files.

    This is a neat…

    Print The Current Worksheet in Excel

    Macro: This free Excel macro will print the current active worksheet in Excel. This means th…

    Store Large Numbers in Excel

    Tutorial:
    I will show you how to display large, even huge, numbers in Excel.  In Excel, you can’t …

    How to Install the Macro

    1. Select and copy the text from within the grey box above.
    2. Open the Microsoft Excel file in which you would like the Macro to function.
    3. Press «Alt + F11» — This will open the Visual Basic Editor — Works for all Excel Versions.
       Or For other ways to get there, Click Here.
    4. On the new window that opens up, go to the left side where the vertical pane is located. Locate your Excel file; it will be called VBAProject (YOUR FILE’S NAME HERE) and click this.
    5. If the Macro goes in a Module, Click Here, otherwise continue to Step 8.
    6. If the Macro goes in the Workbook or ThisWorkbook, Click Here, otherwise continue to Step 8.
    7. If the Macro goes in the Worksheet Code, Click Here, otherwise continue to Step 8.
    8. Close the Microsoft Visual Basic Editor window and save the Excel file. When you close the Visual Basic Editor window, the regular Excel window will not close.
    9. You are now ready to run the macro.

    Skip to content

    На чтение 1 мин. Просмотров 3.1k.

    Что делает макрос: Если вы хотите распечатать все листы файла (или отдельные) вручную в Excel, для этого нужно зажать клавишу CTRL на клавиатуре, выбрать листы, которые требуется распечатать, и нажать кнопку печать. Если вы делаете это достаточно часто, можете использовать этот простой макрос.

    Содержание

    1. Как работает макрос
    2. Код макроса
    3. Как использовать

    Как работает макрос

    Это очень просто. Все, что нам нужно сделать — это выбрать листы, которые мы хотим напечатать. Затем мы используем метод печати, чтобы запустить. Все листы, которые вы выбрали, печатаются на одном дыхании.

    Код макроса

    Sub PechatOpredelennihListov()
    'Печать определенных листов
    ActiveWorkbook.Sheets( _
    Array("Лист1", "Лист3", "Лист5")).PrintOut Copies:=1
    End Sub
    

    Хотите напечатать все рабочие листы в книге? Это еще проще.

    Sub PechatVsehListov()
    'Печать всех листов
    ActiveWorkbook.Worksheets.PrintOut Copies:=1
    End Sub
    

    Как использовать

    1. Активируйте редактор Visual Basic, нажав ALT + F11.
    2. Щелкните правой кнопкой мыши personal.xlb в окне Project.
    3. Выберите Insert➜Module.
    4. Введите или вставьте код во вновь созданном модуле.

    Понравилась статья? Поделить с друзьями:
  • Макросы excel изменить ячейку
  • Макросы excel запуск макроса при изменении ячейки
  • Макросы excel для финансового
  • Макросы excel для финансов
  • Макросы excel для создания таблиц