Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/140: Рейтинг темы: голосов - 140, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 3

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

23.10.2016, 19:05. Показов 27043. Ответов 4
Метки нет (Все метки)

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

Буду очень благодарен за помощь!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2016, 19:05
Ответы с готовыми решениями:

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

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

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

4
Эксперт NIX
3303 / 932 / 200
Регистрация: 14.01.2013
Сообщений: 4,765
24.10.2016, 13:39
Цитата Сообщение от SirGUN13 Посмотреть сообщение
Хочется кнопку, которая без поиска и листаний выведет на печать необходимый пакет документов.
Так сделайте себе такую кнопку. В чём проблема?

Цитата Сообщение от SirGUN13 Посмотреть сообщение
Буду очень благодарен за помощь!
В каком виде предоставить помощь? С точки зрения информационной помощи, здесь, на форуме, её целый вагон и маленькая тележка. С практической, без наличия материала, над которым все эти мероприятия должны проводиться, не о чем и писать.
0
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 3
27.10.2016, 14:00  [ТС]
Цитата Сообщение от Kubuntovod Посмотреть сообщение
Так сделайте себе такую кнопку. В чём проблема?
Не понимаю Вашу попытку пошутить. Ведь название данной ветки "Форум VBA", что путем не хитрых умозаключений приводит человека, обладающего логическим мышлением (именно поэтому я обратился за помощью именно сюда), к выводу, что проблема именно в написании макроса для кнопки, который выполнял бы вышеозначенные функции.

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

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

С уважением ко всем!
0
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 3
28.10.2016, 18:27  [ТС]
Ладно, гуру ВижуалБейсика... Для гуру Ваш ответ затянулся. Успел уже сам разобраться.
Для будущих поколений, задавшихся аналогичным вопросом, расскажу ,как я вышел из этой ситуации:
Вывел в ячейку C14 значение, равное номеру листа, который нужно распечатать.
Видимо вся загвоздка была в том, что я переменную "а" описывал как число, а нужно было как текст.
PureBasic
1
2
3
4
5
    Dim a As String
    a = Range("C14").Value
    Sheets(a).Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
Добавлено через 48 минут
забыл сказать, что перед "a = Range("C14").Value" нужно активным сделать тот лист, на котором в ячейке С14 и написано это значение
0
Эксперт NIX
3303 / 932 / 200
Регистрация: 14.01.2013
Сообщений: 4,765
28.10.2016, 19:21
Цитата Сообщение от SirGUN13 Посмотреть сообщение
Не понимаю Вашу попытку пошутить. Ведь название данной ветки "Форум VBA", что путем не хитрых умозаключений приводит человека, обладающего логическим мышлением (именно поэтому я обратился за помощью именно сюда), к выводу, что проблема именно в написании макроса для кнопки, который выполнял бы вышеозначенные функции.
Вы увидели несуществующее. Я говорил серьёзно. А чтобы сделать то, что Вам хотелось, надо полистать форум, посмотреть на примеры и путем не хитрых умозаключений написать код.

Цитата Сообщение от SirGUN13 Посмотреть сообщение
Материала на форуме не нашел. только как напечатать определенный лист в книге, если знаешь его название.
Но как напечатать лист, название которого - цифра, которая определяется рассчетной формулой?
Вот в чем вопрос.
Плохо искали. Примеров, показывающих, как обратиться к имени листа масса. Превратить цифру, которая определяется рассчетной формулой, в текст нет никакой сложности.
Visual Basic
1
a = CStr(Формула)
И далее уже Ваше:
Visual Basic
1
Sheets(a).Select
Цитата Сообщение от SirGUN13 Посмотреть сообщение
забыл сказать, что перед "a = Range("C14").Value" нужно активным сделать тот лист, на котором в ячейке С14 и написано это значение
Вы забыли рассказать, что за хитрая формула выводит имя требуемого листа.

Цитата Сообщение от SirGUN13 Посмотреть сообщение
Ладно, гуру ВижуалБейсика... Для гуру Ваш ответ затянулся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2016, 19:21
Помогаю со студенческими работами здесь

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

Макрос для печати определенного листа Excel
Помогите пожалуйста! Помогите написать макрос для печати заранее заданного листа. Спасибо!

Защита всех листов книги, но редактирование определённых столбцов или строк
Добрый день. Защищаю всю книгу с вводом пароля. Private Sub Workbook_Open() Dim wsSh As Object For Each wsSh In...

Из Excel в Word / Задать количество листов для печати в Word
Добрый день многоуважаемые, надеюсь на ваш совет. Есть задание из Excel таблицы переносить данные в шаблон Word. В Word документе...

Нужен макрос для Excel "Число листов прописью"
Добрый день. Помогите с макросом для Excel. Макросов "сумма прописью" и "число прописью" в сети много, но поскольку с VBA на вы, не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru