Доброго дня, уважаемые форумчане! Суть проблемы: - Есть месячный график ППР и график ППР с разбивкой по дням для печати (прикрепил к сообщению). Необходимо распечатать на каждый день ежедневные графики производства работ из вкладки "еППР", но в них должны отражаться лишь те строки с работами, которые есть на сегодняшний день. Строки с работами, которые идут в другие дни, должны скрываться. Чтобы в ручную это не делать, записал следующий макрос (запускается сочетанием клавиш: Ctrl+m) - выставляю зону печати; - на первое число месяца по фильтру убираю строки с отсутствующими работами ТО на сегодняшний день (пустые); - печатаю получившуюся выборку; - снимаю фильтр с 1-го числа; - скрываю столбец с 1-м числом; - делаю активной ячейку со 2-м числом месяца; - останавливаю запись макроса.
При запуске макроса нажатием горячих клавиш Ctrl+m, когда скрыт столбец с 1-м числом месяца, а активной выделена ячейка 2-го числа месяца, он почему-то делает фильтр в столбец 2-го числа, но печатает перечни работ от 1-го числа. Можете, пожалуйста, подсказать, как сделать, чтобы на печать выводились те строки, которые отфильтровались на конкретный день?
Доброго дня, уважаемые форумчане! Суть проблемы: - Есть месячный график ППР и график ППР с разбивкой по дням для печати (прикрепил к сообщению). Необходимо распечатать на каждый день ежедневные графики производства работ из вкладки "еППР", но в них должны отражаться лишь те строки с работами, которые есть на сегодняшний день. Строки с работами, которые идут в другие дни, должны скрываться. Чтобы в ручную это не делать, записал следующий макрос (запускается сочетанием клавиш: Ctrl+m) - выставляю зону печати; - на первое число месяца по фильтру убираю строки с отсутствующими работами ТО на сегодняшний день (пустые); - печатаю получившуюся выборку; - снимаю фильтр с 1-го числа; - скрываю столбец с 1-м числом; - делаю активной ячейку со 2-м числом месяца; - останавливаю запись макроса.
При запуске макроса нажатием горячих клавиш Ctrl+m, когда скрыт столбец с 1-м числом месяца, а активной выделена ячейка 2-го числа месяца, он почему-то делает фильтр в столбец 2-го числа, но печатает перечни работ от 1-го числа. Можете, пожалуйста, подсказать, как сделать, чтобы на печать выводились те строки, которые отфильтровались на конкретный день?Kutokork8947
в файл внес изменения. выделяете ячейку столбца с нужной датой, запускаете макрос: [vba]
Код
Sub ПечатьЕППР() ' ' ПечатьЕППР Макрос ' Печать ежедневных ППР ' ' Сочетание клавиш: Ctrl+m ' u = Selection.Column If u > 4 And u < 36 Then ActiveSheet.Range(Cells(5, u), Cells(107, u)).AutoFilter Field:=1, Criteria1:="<>" Columns("e:ai").EntireColumn.Hidden = True Columns(u).EntireColumn.Hidden = False ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False Columns("e:ai").EntireColumn.Hidden = False Selection.AutoFilter End If End Sub
[/vba]
в файл внес изменения. выделяете ячейку столбца с нужной датой, запускаете макрос: [vba]
Код
Sub ПечатьЕППР() ' ' ПечатьЕППР Макрос ' Печать ежедневных ППР ' ' Сочетание клавиш: Ctrl+m ' u = Selection.Column If u > 4 And u < 36 Then ActiveSheet.Range(Cells(5, u), Cells(107, u)).AutoFilter Field:=1, Criteria1:="<>" Columns("e:ai").EntireColumn.Hidden = True Columns(u).EntireColumn.Hidden = False ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False Columns("e:ai").EntireColumn.Hidden = False Selection.AutoFilter End If End Sub
Nic70y, Спасибо Вам огромное! Все работает так, как надо. Просьба: можете, пожалуйста, вкратце рассказать, как работает ваша программа? Какими функциями она скрывает без применения фильтра пустые строки и печатает столбец с активной датой?
Nic70y, Спасибо Вам огромное! Все работает так, как надо. Просьба: можете, пожалуйста, вкратце рассказать, как работает ваша программа? Какими функциями она скрывает без применения фильтра пустые строки и печатает столбец с активной датой?Kutokork8947