Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2019, 10:48   #1
Ogeris
Пользователь
 
Регистрация: 26.10.2010
Сообщений: 87
По умолчанию Умная печать

Добрый день!

Прикрепляю файл с макросом.

В файле - ярлыки для печати (один ярлык = один лист). В каждом ярлыке есть:
1. Адрес объекта (строки 6, 21, 36, 51...)
2. Наименование продукции (строки 2, 17, 32, 47...; Шанежка с творогом и Рогалик с изюмом)
3. Кол-во (строки 8, 23, 38, 53...)

Пустой ярлык означает, что в строках с кол-ом стоит 0 (ноль).

Сейчас макрос печатает непустые ярлыки слева-направо, не обращая внимания на наименование продукции и адрес объекта.

Хотелось бы, чтобы он печатал в таком порядке:

1.1. Сначала все непустые ярлыки шанежки с творогом для объекта 1,
1.2. Потом все непустые ярлыки для шанежки с творогом для объекта 2,
1.3. и далее в таком же порядке все непустые ярлыки шанежки с творогом для всех остальных объектов

2.1 Потом - все непустые ярлыки для следующего продукта (рогалик с изюмом) для объекта 1,
2.2. Затем - все непустые ярлыки рогалика с изюмом для объекта 2,
2.3 и далее в таком же порядке все непустые ярлыки рогалика с изюмом для всех остальных объектов

Благодарю!

Код текущего макроса:

Код:
Public Sub Печатать_непустые_ярлыки()
Application.EnableCancelKey = xlDisabled
Dim V As Range
Dim S&, R&, C&
S = Columns(1).Rows(65536).End(xlUp).Row
For R = 8 To S Step 15
    For C = 1 To 21
        If Cells(R, C).Value <> 0 Then
        If V Is Nothing Then Set V = Range(Cells(R - 7, C), Cells(R + 7, C)) Else Set V = Union(V, Range(Cells(R - 7, C), Cells(R + 7, C)))
        End If
    Next C
 If Not V Is Nothing Then V.PrintOut Copies:=1, Collate:=True: Set V = Nothing
Next R
Application.EnableCancelKey = xlEnabled
End Sub
Вложения
Тип файла: xls Ярлыки_печать.xls (417.5 Кб, 33 просмотров)
Ogeris вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Умная таблица dimka43432 Microsoft Office Excel 4 07.03.2019 19:22
Умная сортировка в Excel 25segments Фриланс 8 09.05.2017 11:43
Умная форма asale Microsoft Office Access 0 07.09.2012 11:19
Умная замена... prizrak1390 PHP 11 04.10.2011 21:46
умная задача st1mUA Свободное общение 3 02.06.2009 16:25