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

Макрос Excel. Вывод на печать с условием

27.11.2014, 12:08. Показов 9406. Ответов 4
Метки нет (Все метки)

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

Написал макрос - выводит на лист информацию в виде блоков, по 4 строки. Вот так:

1) Название профессии
2) Название фирмы
3) Зарплата
4) Пропуск

Причём первые 2 строки могут быть разной высоты в каждом блоке. Теперь нужно написать условие, чтобы на печать на 1 лист выводилось только число строк, кратное 4, т.е., чтобы блоки печатались целиком, без разрыва блока и переноса на следующую страницу.

Подскажите, как это реализовать?

Я думаю, можно написать цикл, чтобы набирать кол-во строк, кратное четырём, но не больше, чем влезет на лист, копировать их на другой лист, распечатывать, затирать, повторить. Но вот как накодить вот это "не больше, чем влезет на лист" я не знаю.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2014, 12:08
Ответы с готовыми решениями:

Макрос в Excel для последовательного заполнения данными и вывод их на печать
Здравствуйте! Очень прошу помощи в написании макроса, т.к. новичок. Есть форма (лист "Форма по 213н"), которую необходимо...

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

Вывод на печать с условием 1С 8.3
Здравствуйте. Имеется команда для вывода на печать (ПечатьДопФорм) и два макета печати ПечатьП1, ПечатьП2. На форме документа есть два...

4
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,934
Записей в блоге: 4
27.11.2014, 13:14
Я подобные вещи печатаю вордом
======
поместите в каталог c:\rab
Вложения
Тип файла: zip Книга27.zip (15.1 Кб, 21 просмотров)
1
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
27.11.2014, 15:47
Можно расставить принудительные разрывы строк, объекты коллекции HPageBreaks В Excel есть ограничение количества разрывов страниц - не более 1026. Примерный код Excel:
Visual Basic
1
2
3
4
5
6
7
8
9
Sub SetPageBreaks()
    Dim i As Long
    
    With ActiveSheet
        For i = 5 To .Cells(.Rows.Count, 1).End(xlUp).Row Step 4
            .HPageBreaks.Add .Cells(i, 1)
        Next
    End With
End Sub
Добавлено через 1 минуту
Перед печатью можно посмотреть, что выходит через Вид - Страничный режим
1
0 / 0 / 1
Регистрация: 03.10.2010
Сообщений: 33
28.11.2014, 14:52  [ТС]
Огромное спасибо. Но так у меня пропадает всё форматирование, которое я писал для своей таблицы.
Чтобы не переписывать весь макросс под ворд, можно ли всё-таки решить задачу из-под экселя?

Добавлено через 22 часа 15 минут
Попробовал вставить этот код - выдаёт ошибку Error 9: Subscript out of range на 15 строчке
Я немного модифицировал код, вот так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Macros1
    Dim iLastRow2 As Long
    
    Worksheets("Ëèñò2").Select
    iLastRow2 = Cells(Rows.Count, 1).End(xlUp).Row
    
    Dim i As Long
    Dim n As Long
    
    n = 1
    
    Worksheets("Ëèñò2").Select
    With Selection
        For i = 5 To iLastRow2 Step 4
            Worksheets("Ëèñò2").HPageBreaks(n).Location = Worksheets("Ëèñò2").Cells(i, 1)
            n = n + 1
        Next
    End With
     
End Sub
Ошибка сохраняется
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
28.11.2014, 16:29
Исправьте 15 строку:
Visual Basic
1
Worksheets("Лист2").HPageBreaks(n).Location = Worksheets("Лист2").Cells(iLastRow2, 1)
В этом случае переменная i не используется, её объявлять не надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.11.2014, 16:29
Помогаю со студенческими работами здесь

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

Печать в Excel через макрос
Доброго времени суток !!! Ситуация такая. В документе есть 2 листа: на первой, таблица с данными, во второй текст и в...

Вывод таблицы на печать в Excel
Как можно сделать с помощью макроса, чтобы при выводе на печать две строки не отрывались и были на одном листе?

Excel, макрос: ввод и вывод из массива, сумма, максимум
Нужен макрос. 1. Записать значения элементов массива в ячейки таблицы. 2. В программе реализовать ввод значений элементов из ячеек в...

Вывод данных на печать в готовую форму Excel
Здравствуйте! 1с "Управление торговлей" версия 10.3. Есть документ, в который добавлены реквизиты и соответствующие поля на форме...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru