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

Вход

Регистрация

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

 

= Мир MS Excel/выборка по группе - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » выборка по группе (Макросы/Sub)
выборка по группе
severyanin Дата: Среда, 23.03.2016, 15:21 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
подсобите с кодом, адаптировал ранее разработанный Вами,
описание проблемы в самом файле.
К сообщению приложен файл: 77.xlsm (35.6 Kb)
 
Ответить
Сообщениеподсобите с кодом, адаптировал ранее разработанный Вами,
описание проблемы в самом файле.

Автор - severyanin
Дата добавления - 23.03.2016 в 15:21
akobir Дата: Среда, 23.03.2016, 16:05 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 201
Репутация: 9 ±
Замечаний: 0% ±

Excel 2010
severyanin, Описания в файле нет. Что нужно-то?


e-mail: akobir.ismailov@gmail.com
 
Ответить
Сообщениеseveryanin, Описания в файле нет. Что нужно-то?

Автор - akobir
Дата добавления - 23.03.2016 в 16:05
severyanin Дата: Четверг, 24.03.2016, 06:11 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
:) в первой форме кнопка заполнить, она работает, но выбирает по одному критерию по "Объекту" (для примера 1 рабочий вариант выборка идет из 1 периода и заполняет параметры по этому объекту) и она заполняет указанному объекту и у указанному диапазону в рамках 1 периода.
- во втором листе есть заполняемая таблица растущая периодами и внутри подпунктами параметрами, из которой она выборку делает в первую печатную форму.
- идея есть чтоб в первой таблице отрабатывалось условие как по "периодам" так и по "объектам".
Спасибо.
 
Ответить
Сообщение:) в первой форме кнопка заполнить, она работает, но выбирает по одному критерию по "Объекту" (для примера 1 рабочий вариант выборка идет из 1 периода и заполняет параметры по этому объекту) и она заполняет указанному объекту и у указанному диапазону в рамках 1 периода.
- во втором листе есть заполняемая таблица растущая периодами и внутри подпунктами параметрами, из которой она выборку делает в первую печатную форму.
- идея есть чтоб в первой таблице отрабатывалось условие как по "периодам" так и по "объектам".
Спасибо.

Автор - severyanin
Дата добавления - 24.03.2016 в 06:11
Karataev Дата: Четверг, 24.03.2016, 12:44 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
полностью переделал макрос (не стал вносить изменения)
К сообщению приложен файл: 77_v2.xlsm (36.2 Kb)
 
Ответить
Сообщениеполностью переделал макрос (не стал вносить изменения)

Автор - Karataev
Дата добавления - 24.03.2016 в 12:44
KuklP Дата: Четверг, 24.03.2016, 13:16 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Вариант:
[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
[/vba]
К сообщению приложен файл: _77.xlsm (40.0 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 24.03.2016, 13:23
 
Ответить
СообщениеВариант:
[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
[/vba]

Автор - KuklP
Дата добавления - 24.03.2016 в 13:16
Karataev Дата: Четверг, 24.03.2016, 13:50 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Вариант без макросов. Используется один вспомогательный столбец I (его можно скрыть).
В столбце I два вида формул. В ячейке I5 одна формула, во всех остальных другая - формула массива. Формула массива была вставлена так: сначала я выделил I6:I25 и затем вставил одну формулу. Чтобы удалить формулы массива из столбца I, сначала нужно выделить I6:I25, а затем удалить (по одной ячейке не получится).
На листе Реестр просматриваются 5000 строк, и все столбцы.
К сообщению приложен файл: 77_.xlsx (26.4 Kb)


Сообщение отредактировал Karataev - Четверг, 24.03.2016, 14:02
 
Ответить
СообщениеВариант без макросов. Используется один вспомогательный столбец I (его можно скрыть).
В столбце I два вида формул. В ячейке I5 одна формула, во всех остальных другая - формула массива. Формула массива была вставлена так: сначала я выделил I6:I25 и затем вставил одну формулу. Чтобы удалить формулы массива из столбца I, сначала нужно выделить I6:I25, а затем удалить (по одной ячейке не получится).
На листе Реестр просматриваются 5000 строк, и все столбцы.

Автор - Karataev
Дата добавления - 24.03.2016 в 13:50
severyanin Дата: Четверг, 24.03.2016, 13:51 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
слов нет красавы! пробую разобраться в коде... подтупливаю но попробую спасибо!
 
Ответить
Сообщениеслов нет красавы! пробую разобраться в коде... подтупливаю но попробую спасибо!

Автор - severyanin
Дата добавления - 24.03.2016 в 13:51
severyanin Дата: Четверг, 24.03.2016, 16:11 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Еще раз прошу помощи добавилась задача, добавить обработку, в эту же табличку.
- отображать в титульном листе данные из Листа "реестр" с тем критерием что есть ДА но если стоит НЕТ то его не выводить в титул!
Спасибо огромное Вам!
К сообщению приложен файл: 5703344.xlsm (35.7 Kb)
 
Ответить
СообщениеЕще раз прошу помощи добавилась задача, добавить обработку, в эту же табличку.
- отображать в титульном листе данные из Листа "реестр" с тем критерием что есть ДА но если стоит НЕТ то его не выводить в титул!
Спасибо огромное Вам!

Автор - severyanin
Дата добавления - 24.03.2016 в 16:11
Karataev Дата: Четверг, 24.03.2016, 16:36 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Задача не понятна. Если стоит "нет", что нужно на титул вставлять?
 
Ответить
СообщениеЗадача не понятна. Если стоит "нет", что нужно на титул вставлять?

Автор - Karataev
Дата добавления - 24.03.2016 в 16:36
severyanin Дата: Пятница, 25.03.2016, 05:52 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
если "Нет" то не вставлять найденую строку по объекту :)
если "Да" то вставлять в Титул.
 
Ответить
Сообщениеесли "Нет" то не вставлять найденую строку по объекту :)
если "Да" то вставлять в Титул.

Автор - severyanin
Дата добавления - 25.03.2016 в 05:52
severyanin Дата: Пятница, 25.03.2016, 06:36 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
еще просьба!
Немного обрезанный файл выложил, для обработки исключения -
- после окончания периода там где кончился и данных нет (в право, но период выбран) чтоб ошибку писал, что периода далее нет или данных нет.
К сообщению приложен файл: 5379715.xlsm (26.7 Kb)
 
Ответить
Сообщениееще просьба!
Немного обрезанный файл выложил, для обработки исключения -
- после окончания периода там где кончился и данных нет (в право, но период выбран) чтоб ошибку писал, что периода далее нет или данных нет.

Автор - severyanin
Дата добавления - 25.03.2016 в 06:36
Karataev Дата: Пятница, 25.03.2016, 09:56 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Я так и не понял, что должно быть, если "да", и что должно быть, если "нет".
Сделайте тогда так, сделайте файл пример, когда выбрано "да" и сделайте файл пример, когда выбрано "нет".
 
Ответить
СообщениеЯ так и не понял, что должно быть, если "да", и что должно быть, если "нет".
Сделайте тогда так, сделайте файл пример, когда выбрано "да" и сделайте файл пример, когда выбрано "нет".

Автор - Karataev
Дата добавления - 25.03.2016 в 09:56
severyanin Дата: Пятница, 25.03.2016, 12:54 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
ну в файле - лист - реестр - есть данные но есть парамер после объекта - "да" - тогда при нахождения этого объекта и - "ДА" - выводить строку в Титул, если у этого объекта стоит параметр - "НЕТ" найдя его, пропустить не выводить в титул проходим ниже ищем следующий объект.
 
Ответить
Сообщениену в файле - лист - реестр - есть данные но есть парамер после объекта - "да" - тогда при нахождения этого объекта и - "ДА" - выводить строку в Титул, если у этого объекта стоит параметр - "НЕТ" найдя его, пропустить не выводить в титул проходим ниже ищем следующий объект.

Автор - severyanin
Дата добавления - 25.03.2016 в 12:54
severyanin Дата: Пятница, 25.03.2016, 13:08 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Вот пример, выбрано 11111 и 1 период, и ДА отображать данные по объектам где флаг стоит ДА, там где нет не попал в титул, пропущена строка с данными этого объекта.
- но это я вручную вырезал строку с НЕТ.
К сообщению приложен файл: 5843265.xlsm (27.1 Kb)


Сообщение отредактировал severyanin - Пятница, 25.03.2016, 13:09
 
Ответить
СообщениеВот пример, выбрано 11111 и 1 период, и ДА отображать данные по объектам где флаг стоит ДА, там где нет не попал в титул, пропущена строка с данными этого объекта.
- но это я вручную вырезал строку с НЕТ.

Автор - severyanin
Дата добавления - 25.03.2016 в 13:08
Karataev Дата: Пятница, 25.03.2016, 14:23 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
В A2 только один объект. Если установить "нет" и щелкнуть "Заполнить", то на листе Титул будет пусто.
 
Ответить
СообщениеВ A2 только один объект. Если установить "нет" и щелкнуть "Заполнить", то на листе Титул будет пусто.

Автор - Karataev
Дата добавления - 25.03.2016 в 14:23
severyanin Дата: Пятница, 25.03.2016, 14:44 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
чо-то не понимаем мы друг друга :)

я сделал пример но он не в работе я как образец выложил, но идея что Вы кодили все работает по 2м критериям по 1 и по 2рому т.е. по Объекту отборку делает и по периодам, а можно добавить еще 1 критерий отбора, по условию т.е. ФИЛЬТР где есть да выводить объект в титул где НЕТ не брать оставлять-пропускать.
 
Ответить
Сообщениечо-то не понимаем мы друг друга :)

я сделал пример но он не в работе я как образец выложил, но идея что Вы кодили все работает по 2м критериям по 1 и по 2рому т.е. по Объекту отборку делает и по периодам, а можно добавить еще 1 критерий отбора, по условию т.е. ФИЛЬТР где есть да выводить объект в титул где НЕТ не брать оставлять-пропускать.

Автор - severyanin
Дата добавления - 25.03.2016 в 14:44
Karataev Дата: Пятница, 25.03.2016, 15:47 | Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
severyanin, не смогу Вам помочь, подождите, может кто-нибудь другой поможет.
 
Ответить
Сообщениеseveryanin, не смогу Вам помочь, подождите, может кто-нибудь другой поможет.

Автор - Karataev
Дата добавления - 25.03.2016 в 15:47
KuklP Дата: Пятница, 25.03.2016, 17:19 | Сообщение № 18
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[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
[/vba]
К сообщению приложен файл: _5843265.xlsm (30.8 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[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
[/vba]

Автор - KuklP
Дата добавления - 25.03.2016 в 17:19
severyanin Дата: Понедельник, 28.03.2016, 16:26 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Жива тема?
[moder]А мы-то откуда знаем? Это Ваша тема.


Сообщение отредактировал _Boroda_ - Понедельник, 28.03.2016, 16:31
 
Ответить
СообщениеЖива тема?
[moder]А мы-то откуда знаем? Это Ваша тема.

Автор - severyanin
Дата добавления - 28.03.2016 в 16:26
severyanin Дата: Понедельник, 28.03.2016, 16:33 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Нужна еще помощь!
Условие чуток усложнилось, в фильтре есть условие "да" и "нет", оно прежнее, но теперь при условии ДА - просматривать и выводить все объекты что есть в листе реестр, те объекты что в столбце "разрешение" - (да, нет, готов, не готов ... и возможны еще критерии добавляемы) НО важно только ДА и НЕТ при фильтре!
--
- если ДА то все объекты выводить - с параметром - да, нет, готов, не готов ... т.е. все объекты по первым 2 параметрам фильтра.
- если выбрано НЕТ - то выводить ВСЕ также но без "Объекта" у которого в "разрешении" - НЕТ! (Т.е. эту строку с объектом не выводить в Титул)
Спасибо Форуму за помощь!!!!!!
в Файле модифицированный столбец -"разрешение"
К сообщению приложен файл: 265.xlsm (26.0 Kb)


Сообщение отредактировал severyanin - Понедельник, 28.03.2016, 16:37
 
Ответить
СообщениеНужна еще помощь!
Условие чуток усложнилось, в фильтре есть условие "да" и "нет", оно прежнее, но теперь при условии ДА - просматривать и выводить все объекты что есть в листе реестр, те объекты что в столбце "разрешение" - (да, нет, готов, не готов ... и возможны еще критерии добавляемы) НО важно только ДА и НЕТ при фильтре!
--
- если ДА то все объекты выводить - с параметром - да, нет, готов, не готов ... т.е. все объекты по первым 2 параметрам фильтра.
- если выбрано НЕТ - то выводить ВСЕ также но без "Объекта" у которого в "разрешении" - НЕТ! (Т.е. эту строку с объектом не выводить в Титул)
Спасибо Форуму за помощь!!!!!!
в Файле модифицированный столбец -"разрешение"

Автор - severyanin
Дата добавления - 28.03.2016 в 16:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » выборка по группе (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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