в первой форме кнопка заполнить, она работает, но выбирает по одному критерию по "Объекту" (для примера 1 рабочий вариант выборка идет из 1 периода и заполняет параметры по этому объекту) и она заполняет указанному объекту и у указанному диапазону в рамках 1 периода. - во втором листе есть заполняемая таблица растущая периодами и внутри подпунктами параметрами, из которой она выборку делает в первую печатную форму. - идея есть чтоб в первой таблице отрабатывалось условие как по "периодам" так и по "объектам". Спасибо.
в первой форме кнопка заполнить, она работает, но выбирает по одному критерию по "Объекту" (для примера 1 рабочий вариант выборка идет из 1 периода и заполняет параметры по этому объекту) и она заполняет указанному объекту и у указанному диапазону в рамках 1 периода. - во втором листе есть заполняемая таблица растущая периодами и внутри подпунктами параметрами, из которой она выборку делает в первую печатную форму. - идея есть чтоб в первой таблице отрабатывалось условие как по "периодам" так и по "объектам". Спасибо.severyanin
Sub www() Dim x, j&, nz nz = Sheets("Титул").Range("A2:b2").Value: If Application.CountA(nz) < 2 Then Exit Sub With Sheets("Реестр") Set x = .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, .Cells(3, .Columns.Count).End(xlToLeft).Column)) x.AutoFilter 1, nz(1, 1): j = nz(1, 2) * 7 End With With Sheets("Титул") .Range("A6").CurrentRegion.Offset(1).ClearContents Union(x.Columns(1), Range(x.Columns(j - 5), x.Columns(j + 1))).Offset(1).SpecialCells(12).Copy .[a5].PasteSpecial xlPasteValues x.AutoFilter 1 End With Application.CutCopyMode = 0 End Sub
[/vba]
Вариант: [vba]
Код
Sub www() Dim x, j&, nz nz = Sheets("Титул").Range("A2:b2").Value: If Application.CountA(nz) < 2 Then Exit Sub With Sheets("Реестр") Set x = .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, .Cells(3, .Columns.Count).End(xlToLeft).Column)) x.AutoFilter 1, nz(1, 1): j = nz(1, 2) * 7 End With With Sheets("Титул") .Range("A6").CurrentRegion.Offset(1).ClearContents Union(x.Columns(1), Range(x.Columns(j - 5), x.Columns(j + 1))).Offset(1).SpecialCells(12).Copy .[a5].PasteSpecial xlPasteValues x.AutoFilter 1 End With Application.CutCopyMode = 0 End Sub
Вариант без макросов. Используется один вспомогательный столбец I (его можно скрыть). В столбце I два вида формул. В ячейке I5 одна формула, во всех остальных другая - формула массива. Формула массива была вставлена так: сначала я выделил I6:I25 и затем вставил одну формулу. Чтобы удалить формулы массива из столбца I, сначала нужно выделить I6:I25, а затем удалить (по одной ячейке не получится). На листе Реестр просматриваются 5000 строк, и все столбцы.
Вариант без макросов. Используется один вспомогательный столбец I (его можно скрыть). В столбце I два вида формул. В ячейке I5 одна формула, во всех остальных другая - формула массива. Формула массива была вставлена так: сначала я выделил I6:I25 и затем вставил одну формулу. Чтобы удалить формулы массива из столбца I, сначала нужно выделить I6:I25, а затем удалить (по одной ячейке не получится). На листе Реестр просматриваются 5000 строк, и все столбцы.Karataev
Еще раз прошу помощи добавилась задача, добавить обработку, в эту же табличку. - отображать в титульном листе данные из Листа "реестр" с тем критерием что есть ДА но если стоит НЕТ то его не выводить в титул! Спасибо огромное Вам!
Еще раз прошу помощи добавилась задача, добавить обработку, в эту же табличку. - отображать в титульном листе данные из Листа "реестр" с тем критерием что есть ДА но если стоит НЕТ то его не выводить в титул! Спасибо огромное Вам!severyanin
еще просьба! Немного обрезанный файл выложил, для обработки исключения - - после окончания периода там где кончился и данных нет (в право, но период выбран) чтоб ошибку писал, что периода далее нет или данных нет.
еще просьба! Немного обрезанный файл выложил, для обработки исключения - - после окончания периода там где кончился и данных нет (в право, но период выбран) чтоб ошибку писал, что периода далее нет или данных нет.severyanin
Я так и не понял, что должно быть, если "да", и что должно быть, если "нет". Сделайте тогда так, сделайте файл пример, когда выбрано "да" и сделайте файл пример, когда выбрано "нет".
Я так и не понял, что должно быть, если "да", и что должно быть, если "нет". Сделайте тогда так, сделайте файл пример, когда выбрано "да" и сделайте файл пример, когда выбрано "нет".Karataev
ну в файле - лист - реестр - есть данные но есть парамер после объекта - "да" - тогда при нахождения этого объекта и - "ДА" - выводить строку в Титул, если у этого объекта стоит параметр - "НЕТ" найдя его, пропустить не выводить в титул проходим ниже ищем следующий объект.
ну в файле - лист - реестр - есть данные но есть парамер после объекта - "да" - тогда при нахождения этого объекта и - "ДА" - выводить строку в Титул, если у этого объекта стоит параметр - "НЕТ" найдя его, пропустить не выводить в титул проходим ниже ищем следующий объект.severyanin
Вот пример, выбрано 11111 и 1 период, и ДА отображать данные по объектам где флаг стоит ДА, там где нет не попал в титул, пропущена строка с данными этого объекта. - но это я вручную вырезал строку с НЕТ.
Вот пример, выбрано 11111 и 1 период, и ДА отображать данные по объектам где флаг стоит ДА, там где нет не попал в титул, пропущена строка с данными этого объекта. - но это я вручную вырезал строку с НЕТ.severyanin
я сделал пример но он не в работе я как образец выложил, но идея что Вы кодили все работает по 2м критериям по 1 и по 2рому т.е. по Объекту отборку делает и по периодам, а можно добавить еще 1 критерий отбора, по условию т.е. ФИЛЬТР где есть да выводить объект в титул где НЕТ не брать оставлять-пропускать.
чо-то не понимаем мы друг друга :)
я сделал пример но он не в работе я как образец выложил, но идея что Вы кодили все работает по 2м критериям по 1 и по 2рому т.е. по Объекту отборку делает и по периодам, а можно добавить еще 1 критерий отбора, по условию т.е. ФИЛЬТР где есть да выводить объект в титул где НЕТ не брать оставлять-пропускать.severyanin
Sub www() Dim x, j&, nz nz = Sheets("Титул").Range("A2:c2").Value: If Application.CountA(nz) < 3 Then Exit Sub With Sheets("Реестр") Set x = .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, .Cells(3, .Columns.Count).End(xlToLeft).Column)) x.AutoFilter 1, nz(1, 1) x.AutoFilter 2, nz(1, 3): j = nz(1, 2) * 7 End With With Sheets("Титул") .Range("A6").CurrentRegion.Offset(1).ClearContents Union(x.Columns(1), x.Columns(j - 4).Resize(, 6)).Offset(1).SpecialCells(12).Copy .[a5].PasteSpecial xlPasteValues x.AutoFilter 1 x.AutoFilter 2 End With Application.CutCopyMode = 0 End Sub
[/vba]
[vba]
Код
Sub www() Dim x, j&, nz nz = Sheets("Титул").Range("A2:c2").Value: If Application.CountA(nz) < 3 Then Exit Sub With Sheets("Реестр") Set x = .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, .Cells(3, .Columns.Count).End(xlToLeft).Column)) x.AutoFilter 1, nz(1, 1) x.AutoFilter 2, nz(1, 3): j = nz(1, 2) * 7 End With With Sheets("Титул") .Range("A6").CurrentRegion.Offset(1).ClearContents Union(x.Columns(1), x.Columns(j - 4).Resize(, 6)).Offset(1).SpecialCells(12).Copy .[a5].PasteSpecial xlPasteValues x.AutoFilter 1 x.AutoFilter 2 End With Application.CutCopyMode = 0 End Sub
Нужна еще помощь! Условие чуток усложнилось, в фильтре есть условие "да" и "нет", оно прежнее, но теперь при условии ДА - просматривать и выводить все объекты что есть в листе реестр, те объекты что в столбце "разрешение" - (да, нет, готов, не готов ... и возможны еще критерии добавляемы) НО важно только ДА и НЕТ при фильтре! -- - если ДА то все объекты выводить - с параметром - да, нет, готов, не готов ... т.е. все объекты по первым 2 параметрам фильтра. - если выбрано НЕТ - то выводить ВСЕ также но без "Объекта" у которого в "разрешении" - НЕТ! (Т.е. эту строку с объектом не выводить в Титул) Спасибо Форуму за помощь!!!!!! в Файле модифицированный столбец -"разрешение"
Нужна еще помощь! Условие чуток усложнилось, в фильтре есть условие "да" и "нет", оно прежнее, но теперь при условии ДА - просматривать и выводить все объекты что есть в листе реестр, те объекты что в столбце "разрешение" - (да, нет, готов, не готов ... и возможны еще критерии добавляемы) НО важно только ДА и НЕТ при фильтре! -- - если ДА то все объекты выводить - с параметром - да, нет, готов, не готов ... т.е. все объекты по первым 2 параметрам фильтра. - если выбрано НЕТ - то выводить ВСЕ также но без "Объекта" у которого в "разрешении" - НЕТ! (Т.е. эту строку с объектом не выводить в Титул) Спасибо Форуму за помощь!!!!!! в Файле модифицированный столбец -"разрешение"severyanin