Уважаемые форумчане! Помогите решить задачу. Требуется разбить годовой план по работе с материалами на месячные планы. Необходимо, чтобы в книге из основной таблицы автоматически создалось 12 страниц с месяцами. И соответственно произошла выборка соответствующих сток, где в плане месяца запланированна какая-либо работа. С сортировкой по виду работ. Таблица огромная, вручную это делать неделю. И возможна корректировка. Тогда придется все заново выбирать. Заранее огромное спасибо за любую подсказку и помощь.
Уважаемые форумчане! Помогите решить задачу. Требуется разбить годовой план по работе с материалами на месячные планы. Необходимо, чтобы в книге из основной таблицы автоматически создалось 12 страниц с месяцами. И соответственно произошла выборка соответствующих сток, где в плане месяца запланированна какая-либо работа. С сортировкой по виду работ. Таблица огромная, вручную это делать неделю. И возможна корректировка. Тогда придется все заново выбирать. Заранее огромное спасибо за любую подсказку и помощь.Max1505
Как-то так… [offtop]Очень сильно напрягает фраза: «Ну, как-то так…», — произнесённая за спиной в тату-салоне.[/offtop] [vba]
Код
Public Sub www() Dim sh As Worksheet, i& Application.DisplayAlerts = 0 Application.ScreenUpdating = 0 For Each sh In ThisWorkbook.Worksheets If sh.Name <> "Сводный план" Then sh.Delete Next Set sh = Sheets("Сводный план") For i = 6 To 17 sh.[a3].CurrentRegion.AutoFilter i, "<>" sh.Range("F:q").EntireColumn.Hidden = -1 sh.Columns(i).Hidden = 0 sh.[a3].CurrentRegion.SpecialCells(12).Copy _ Worksheets.Add.[a3] ActiveSheet.Name = sh.Cells(3, i) ActiveSheet.Move after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) sh.AutoFilterMode = 0 Next sh.Range("F:q").EntireColumn.Hidden = 0 Application.DisplayAlerts = -1 Application.ScreenUpdating = -1 End Sub
[/vba] [p.s.]на более осмысленное название файла фантазии не хватило?
Как-то так… [offtop]Очень сильно напрягает фраза: «Ну, как-то так…», — произнесённая за спиной в тату-салоне.[/offtop] [vba]
Код
Public Sub www() Dim sh As Worksheet, i& Application.DisplayAlerts = 0 Application.ScreenUpdating = 0 For Each sh In ThisWorkbook.Worksheets If sh.Name <> "Сводный план" Then sh.Delete Next Set sh = Sheets("Сводный план") For i = 6 To 17 sh.[a3].CurrentRegion.AutoFilter i, "<>" sh.Range("F:q").EntireColumn.Hidden = -1 sh.Columns(i).Hidden = 0 sh.[a3].CurrentRegion.SpecialCells(12).Copy _ Worksheets.Add.[a3] ActiveSheet.Name = sh.Cells(3, i) ActiveSheet.Move after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) sh.AutoFilterMode = 0 Next sh.Range("F:q").EntireColumn.Hidden = 0 Application.DisplayAlerts = -1 Application.ScreenUpdating = -1 End Sub
[/vba] [p.s.]на более осмысленное название файла фантазии не хватило?KuklP
Уважаемый Сергей_Изотов! Подскажите пожалуйста, как придобавлении в основную таблицу дополнительных строк добиться правильного отображения результата. Спасибо.
Уважаемый Сергей_Изотов! Подскажите пожалуйста, как придобавлении в основную таблицу дополнительных строк добиться правильного отображения результата. Спасибо.Max1505
Увеличьте диапазоны в формуле на нужные и почитайте в интернете про формулы массива
[p.s.]Крайне рекомендую Вам реорганизовать исходные данные в нормальный вид (в плоский список), тогда задача решается вообще без формул или макросов, сводной таблицей за пару секунд[/p.s.]
Увеличьте диапазоны в формуле на нужные и почитайте в интернете про формулы массива
[p.s.]Крайне рекомендую Вам реорганизовать исходные данные в нормальный вид (в плоский список), тогда задача решается вообще без формул или макросов, сводной таблицей за пару секунд[/p.s.]Serge_007
Огромное спасибо всем за помощь и советы. Обязательно займусь своим ликбезом. Отдельное спасибо Админу! Не ожидал, если честно, что так оперативно и дружелюбно откликнутся форумчане на клик о помощи. Всех с наступившим Новым годом и наступающим Рождеством!
Огромное спасибо всем за помощь и советы. Обязательно займусь своим ликбезом. Отдельное спасибо Админу! Не ожидал, если честно, что так оперативно и дружелюбно откликнутся форумчане на клик о помощи. Всех с наступившим Новым годом и наступающим Рождеством!Max1505
Сообщение отредактировал Max1505 - Воскресенье, 05.01.2014, 20:28