Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Через макрос печатается только исходны столбец - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Через макрос печатается только исходны столбец (Формулы/Formulas)
Через макрос печатается только исходны столбец
Kutokork8947 Дата: Четверг, 13.10.2022, 11:08 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 20% ±

Доброго дня, уважаемые форумчане!
Суть проблемы:
- Есть месячный график ППР и график ППР с разбивкой по дням для печати (прикрепил к сообщению). Необходимо распечатать на каждый день ежедневные графики производства работ из вкладки "еППР", но в них должны отражаться лишь те строки с работами, которые есть на сегодняшний день. Строки с работами, которые идут в другие дни, должны скрываться. Чтобы в ручную это не делать, записал следующий макрос (запускается сочетанием клавиш: Ctrl+m)
- выставляю зону печати;
- на первое число месяца по фильтру убираю строки с отсутствующими работами ТО на сегодняшний день (пустые);
- печатаю получившуюся выборку;
- снимаю фильтр с 1-го числа;
- скрываю столбец с 1-м числом;
- делаю активной ячейку со 2-м числом месяца;
- останавливаю запись макроса.

При запуске макроса нажатием горячих клавиш Ctrl+m, когда скрыт столбец с 1-м числом месяца, а активной выделена ячейка 2-го числа месяца, он почему-то делает фильтр в столбец 2-го числа, но печатает перечни работ от 1-го числа.
Можете, пожалуйста, подсказать, как сделать, чтобы на печать выводились те строки, которые отфильтровались на конкретный день?
К сообщению приложен файл: ___2022--.xlsm(252.2 Kb)
 
Ответить
СообщениеДоброго дня, уважаемые форумчане!
Суть проблемы:
- Есть месячный график ППР и график ППР с разбивкой по дням для печати (прикрепил к сообщению). Необходимо распечатать на каждый день ежедневные графики производства работ из вкладки "еППР", но в них должны отражаться лишь те строки с работами, которые есть на сегодняшний день. Строки с работами, которые идут в другие дни, должны скрываться. Чтобы в ручную это не делать, записал следующий макрос (запускается сочетанием клавиш: Ctrl+m)
- выставляю зону печати;
- на первое число месяца по фильтру убираю строки с отсутствующими работами ТО на сегодняшний день (пустые);
- печатаю получившуюся выборку;
- снимаю фильтр с 1-го числа;
- скрываю столбец с 1-м числом;
- делаю активной ячейку со 2-м числом месяца;
- останавливаю запись макроса.

При запуске макроса нажатием горячих клавиш Ctrl+m, когда скрыт столбец с 1-м числом месяца, а активной выделена ячейка 2-го числа месяца, он почему-то делает фильтр в столбец 2-го числа, но печатает перечни работ от 1-го числа.
Можете, пожалуйста, подсказать, как сделать, чтобы на печать выводились те строки, которые отфильтровались на конкретный день?

Автор - Kutokork8947
Дата добавления - 13.10.2022 в 11:08
Nic70y Дата: Четверг, 13.10.2022, 13:19 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 7875
Репутация: 1894 ±
Замечаний: 0% ±

Excel 2010
в файл внес изменения.
выделяете ячейку столбца с нужной датой, запускаете макрос:
[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]
К сообщению приложен файл: 258.xlsm(262.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениев файл внес изменения.
выделяете ячейку столбца с нужной датой, запускаете макрос:
[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]

Автор - Nic70y
Дата добавления - 13.10.2022 в 13:19
Kutokork8947 Дата: Четверг, 13.10.2022, 14:57 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, Спасибо Вам огромное! Все работает так, как надо.
Просьба: можете, пожалуйста, вкратце рассказать, как работает ваша программа? Какими функциями она скрывает без применения фильтра пустые строки и печатает столбец с активной датой?
 
Ответить
СообщениеNic70y, Спасибо Вам огромное! Все работает так, как надо.
Просьба: можете, пожалуйста, вкратце рассказать, как работает ваша программа? Какими функциями она скрывает без применения фильтра пустые строки и печатает столбец с активной датой?

Автор - Kutokork8947
Дата добавления - 13.10.2022 в 14:57
Nic70y Дата: Четверг, 13.10.2022, 15:22 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 7875
Репутация: 1894 ±
Замечаний: 0% ±

Excel 2010
фильтр применяется:
        ActiveSheet.Range(Cells(5, u), Cells(107, u)).AutoFilter Field:=1, Criteria1:="<>"
устанавливается в столбце, в котором выделена ячейка
    u = Selection.Column
, а затем (после печати) фильтр убирается
        Selection.AutoFilter
сначала скрываются все столбцы
Columns("e:ai").EntireColumn.Hidden = True
отображается активный
        Columns(u).EntireColumn.Hidden = False
после печати отображаются все столбцы
        Columns("e:ai").EntireColumn.Hidden = False


ЮMoney 41001841029809
 
Ответить
Сообщениефильтр применяется:
        ActiveSheet.Range(Cells(5, u), Cells(107, u)).AutoFilter Field:=1, Criteria1:="<>"
устанавливается в столбце, в котором выделена ячейка
    u = Selection.Column
, а затем (после печати) фильтр убирается
        Selection.AutoFilter
сначала скрываются все столбцы
Columns("e:ai").EntireColumn.Hidden = True
отображается активный
        Columns(u).EntireColumn.Hidden = False
после печати отображаются все столбцы
        Columns("e:ai").EntireColumn.Hidden = False

Автор - Nic70y
Дата добавления - 13.10.2022 в 15:22
Kutokork8947 Дата: Четверг, 13.10.2022, 15:25 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 20% ±

Nic70y, Спасибо большое еще раз Вам за помощь и разъяснения
 
Ответить
СообщениеNic70y, Спасибо большое еще раз Вам за помощь и разъяснения

Автор - Kutokork8947
Дата добавления - 13.10.2022 в 15:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Через макрос печатается только исходны столбец (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!