dakhash
Дата: Среда, 12.03.2014, 20:30 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Здравствуйте! Не смог найти решение своей задачи. Имеется список (файл прилагается), который фильтруется по первому столбцу (контрагент). Затем отфильтрованные данные выводятся на печать. Учитывая, что фактически список достаточно большой, то приходится поочередно фильтровать по каждому контрагенту и выводить поочередно на печать, что занимает немало времени. Существует ли стандартное решение или макрос, позволяющий автоматически вывести на печать (а еще лучше выгрузить на отдельные страницы в один файл Word/Excel) отфильтрованные данные по каждому контрагенту?
Здравствуйте! Не смог найти решение своей задачи. Имеется список (файл прилагается), который фильтруется по первому столбцу (контрагент). Затем отфильтрованные данные выводятся на печать. Учитывая, что фактически список достаточно большой, то приходится поочередно фильтровать по каждому контрагенту и выводить поочередно на печать, что занимает немало времени. Существует ли стандартное решение или макрос, позволяющий автоматически вывести на печать (а еще лучше выгрузить на отдельные страницы в один файл Word/Excel) отфильтрованные данные по каждому контрагенту? dakhash
Сообщение отредактировал dakhash - Среда, 12.03.2014, 20:32
Ответить
Сообщение Здравствуйте! Не смог найти решение своей задачи. Имеется список (файл прилагается), который фильтруется по первому столбцу (контрагент). Затем отфильтрованные данные выводятся на печать. Учитывая, что фактически список достаточно большой, то приходится поочередно фильтровать по каждому контрагенту и выводить поочередно на печать, что занимает немало времени. Существует ли стандартное решение или макрос, позволяющий автоматически вывести на печать (а еще лучше выгрузить на отдельные страницы в один файл Word/Excel) отфильтрованные данные по каждому контрагенту? Автор - dakhash Дата добавления - 12.03.2014 в 20:30
Serge_007
Дата: Среда, 12.03.2014, 20:47 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Существует ли стандартное решение
Нет
Существует ли стандартное решение
НетSerge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Существует ли стандартное решение
НетАвтор - Serge_007 Дата добавления - 12.03.2014 в 20:47
Wasilich
Дата: Пятница, 14.03.2014, 23:21 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Существует ли стандартное решение или макрос ,
Ну где может существовать готовый макрос под вашу задачу? Его писАть надо! Только, нужно более конкретно изложить свое желание. Может кто и поможет.
Существует ли стандартное решение или макрос ,
Ну где может существовать готовый макрос под вашу задачу? Его писАть надо! Только, нужно более конкретно изложить свое желание. Может кто и поможет.Wasilich
Ответить
Сообщение Существует ли стандартное решение или макрос ,
Ну где может существовать готовый макрос под вашу задачу? Его писАть надо! Только, нужно более конкретно изложить свое желание. Может кто и поможет.Автор - Wasilich Дата добавления - 14.03.2014 в 23:21
dakhash
Дата: Четверг, 20.03.2014, 05:04 |
Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Ну где может существовать готовый макрос под вашу задачу? Его писАть надо!
И так понятно, просто в своем посту неправильно вопрос поставил. Лучше бы звучало "Существует ли стандартное решение или ПОМОГИТЕ НАПИСАТЬ макрос..." И куда конкретнее излагать? Требуется вывести на печать каждую отфильтрованную позицию (а уже желательно вывести в Word, но необязательно) Записал макрос на своем примере. [vba]Код
Sub ФильтрацияПечать() ' ' ФильтрацияПечать Макрос ' ' Selection.AutoFilter ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Детский сад №12" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ИП Иванов" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ООО Контора" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ООО Фирма" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ТСЖ Дом 1" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ТСЖ Дом 2" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Школа №24" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Школа №38" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False End Sub
[/vba] Пришлось просто перебрать каждого контрагента, но фактически их более 100 и к тому же время от времени появляются новые. Понимаю, что можно так и сотню перебрать, а потом просто редактировать большой макрос, но думаю можно как-то без перечисления названий обойтись, чтобы макрос просто пробегал по каждому значению в первом столбце (контрагент) и выводил на печать. Кто подскажет как лучше написать?
Ну где может существовать готовый макрос под вашу задачу? Его писАть надо!
И так понятно, просто в своем посту неправильно вопрос поставил. Лучше бы звучало "Существует ли стандартное решение или ПОМОГИТЕ НАПИСАТЬ макрос..." И куда конкретнее излагать? Требуется вывести на печать каждую отфильтрованную позицию (а уже желательно вывести в Word, но необязательно) Записал макрос на своем примере. [vba]Код
Sub ФильтрацияПечать() ' ' ФильтрацияПечать Макрос ' ' Selection.AutoFilter ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Детский сад №12" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ИП Иванов" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ООО Контора" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ООО Фирма" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ТСЖ Дом 1" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ТСЖ Дом 2" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Школа №24" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Школа №38" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False End Sub
[/vba] Пришлось просто перебрать каждого контрагента, но фактически их более 100 и к тому же время от времени появляются новые. Понимаю, что можно так и сотню перебрать, а потом просто редактировать большой макрос, но думаю можно как-то без перечисления названий обойтись, чтобы макрос просто пробегал по каждому значению в первом столбце (контрагент) и выводил на печать. Кто подскажет как лучше написать?dakhash
Сообщение отредактировал Serge_007 - Четверг, 20.03.2014, 06:55
Ответить
Сообщение Ну где может существовать готовый макрос под вашу задачу? Его писАть надо!
И так понятно, просто в своем посту неправильно вопрос поставил. Лучше бы звучало "Существует ли стандартное решение или ПОМОГИТЕ НАПИСАТЬ макрос..." И куда конкретнее излагать? Требуется вывести на печать каждую отфильтрованную позицию (а уже желательно вывести в Word, но необязательно) Записал макрос на своем примере. [vba]Код
Sub ФильтрацияПечать() ' ' ФильтрацияПечать Макрос ' ' Selection.AutoFilter ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Детский сад №12" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ИП Иванов" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ООО Контора" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ООО Фирма" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ТСЖ Дом 1" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="ТСЖ Дом 2" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Школа №24" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveSheet.Range("$A$1:$N$11").AutoFilter Field:=1, Criteria1:="Школа №38" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False End Sub
[/vba] Пришлось просто перебрать каждого контрагента, но фактически их более 100 и к тому же время от времени появляются новые. Понимаю, что можно так и сотню перебрать, а потом просто редактировать большой макрос, но думаю можно как-то без перечисления названий обойтись, чтобы макрос просто пробегал по каждому значению в первом столбце (контрагент) и выводил на печать. Кто подскажет как лучше написать?Автор - dakhash Дата добавления - 20.03.2014 в 05:04
Pelena
Дата: Четверг, 20.03.2014, 05:38 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация:
4421
±
Замечаний:
±
Excel 365 & Mac Excel
выгрузить на отдельные страницы в один файл Word
Используйте инструмент Слияние
выгрузить на отдельные страницы в один файл Word
Используйте инструмент Слияние Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение выгрузить на отдельные страницы в один файл Word
Используйте инструмент Слияние Автор - Pelena Дата добавления - 20.03.2014 в 05:38
dakhash
Дата: Четверг, 20.03.2014, 05:46 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Используйте инструмент Слияние
Спасибо, Pelena. О самом простом способе и не подумал, хотя он не совсем подходит. Слишком много столбцов - около 40. Муторно получится. Кроме того, для некоторых контрагентов две и более строки. Выгрузка в Word - не первостепенная задача, а вспомогательная. Основная задача - отфильтровал и распечатал.
Используйте инструмент Слияние
Спасибо, Pelena. О самом простом способе и не подумал, хотя он не совсем подходит. Слишком много столбцов - около 40. Муторно получится. Кроме того, для некоторых контрагентов две и более строки. Выгрузка в Word - не первостепенная задача, а вспомогательная. Основная задача - отфильтровал и распечатал.dakhash
Сообщение отредактировал dakhash - Четверг, 20.03.2014, 05:54
Ответить
Сообщение Используйте инструмент Слияние
Спасибо, Pelena. О самом простом способе и не подумал, хотя он не совсем подходит. Слишком много столбцов - около 40. Муторно получится. Кроме того, для некоторых контрагентов две и более строки. Выгрузка в Word - не первостепенная задача, а вспомогательная. Основная задача - отфильтровал и распечатал.Автор - dakhash Дата добавления - 20.03.2014 в 05:46
anvg
Дата: Четверг, 20.03.2014, 06:33 |
Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация:
271
±
Замечаний:
0% ±
2016, 365
Доброе время суток. Как вариант. Помещаем на лист "Список печати" необходимых контрагентов и запускаем макрос. Успехов. Не так и много, однако
Доброе время суток. Как вариант. Помещаем на лист "Список печати" необходимых контрагентов и запускаем макрос. Успехов. Не так и много, однако anvg
Ответить
Сообщение Доброе время суток. Как вариант. Помещаем на лист "Список печати" необходимых контрагентов и запускаем макрос. Успехов. Не так и много, однако Автор - anvg Дата добавления - 20.03.2014 в 06:33
dakhash
Дата: Четверг, 20.03.2014, 07:38 |
Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
anvg , Все работает отлично! Премного благодарен!
anvg , Все работает отлично! Премного благодарен!dakhash
Ответить
Сообщение anvg , Все работает отлично! Премного благодарен!Автор - dakhash Дата добавления - 20.03.2014 в 07:38
Wasilich
Дата: Четверг, 20.03.2014, 14:46 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Цитата Wasilic, 14.03.2014 в 23:21, в сообщении № 3 Его писАть надо! Не так и много, однако
К чему это? Я оветил ТСу на конкретный вопрос - "Существует ли готовый макрос".
Цитата Wasilic, 14.03.2014 в 23:21, в сообщении № 3 Его писАть надо! Не так и много, однако
К чему это? Я оветил ТСу на конкретный вопрос - "Существует ли готовый макрос". Wasilich
Ответить
Сообщение Цитата Wasilic, 14.03.2014 в 23:21, в сообщении № 3 Его писАть надо! Не так и много, однако
К чему это? Я оветил ТСу на конкретный вопрос - "Существует ли готовый макрос". Автор - Wasilich Дата добавления - 20.03.2014 в 14:46