Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2015, 16:25   #1
Aswerd
 
Регистрация: 30.01.2010
Сообщений: 3
По умолчанию Все уникальные значения по заданному критерию

Добрый день!
Нашел в свободном доступе макрос «Extract_Unique_for_Criteria()» ,который позволяет вывести все уникальные значения по заданному критерию (В данном случае из столбца B, начиная с ячейки B2 в столбец D, начиная с ячейки D3)
Возникла необходимость «протянуть» данный макрос по горизонтали ,чтобы он выводил уникальные значения из того же диапазона (столбец B, начиная с ячейки B2) но уже по другому критерию (vCriteria = [E2].Value) в ячейку E3 и т.д.. Диапазон критериев очень большой ( B2 : NZ2) и для каждого критерия должны быть выведены уникальные значения из столбца B,соответсвенно, выведенные в ячейки D3,E3,F3,G3,H3,…….NZ3)

Код представлен ниже ,автора, к сожалению не знаю .
Прошу помощи с доработкой макроса .


Код:
Sub Extract_Unique_for_Criteria()
Dim rCell As Range, avArr, li As Long, vCriteria
ReDim avArr(1 To Rows.Count, 1 To 1)
'Запоминаем критерий
vCriteria = [D2].Value
With New Collection
On Error Resume Next
For Each rCell In Range("B2", Cells(Rows.Count, 2).End(xlUp))
If rCell.Offset(, -1).Value = vCriteria Then
'Cells(Rows.Count, 2).End(xlUp) – определяет последнюю заполненную ячейку в столбце B
.Add rCell.Value, CStr(rCell.Value)
If Err = 0 Then
li = li + 1: avArr(li, 1) = rCell.Value
Else: Err.Clear
End If
End If
Next
End With
If li Then [d3].Resize(li).Value = avArr

End Sub
Aswerd вне форума Ответить с цитированием
Старый 24.08.2015, 18:12   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Aswerd, вывод уникальных по критерию можно сделать весьма элегантно с помощью Расширенного фильтра. Приложите образец данных в файле xls/xlsx.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 24.08.2015, 23:01   #3
Aswerd
 
Регистрация: 30.01.2010
Сообщений: 3
По умолчанию

Казанский, спасибо! Не получилось загрузить файл на форум.Пришлось сбросить на почту ,указанную в Вашем профиле.Буду признателен за любую помощь.
Aswerd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сумма по заданному критерию Iskin Microsoft Office Excel 4 16.08.2013 21:32
Как найти нужное число в таблице по заданному критерию Svist Microsoft Office Excel 2 01.07.2011 23:40
сумма по заданному критерию Iskin Microsoft Office Excel 6 18.08.2009 09:00
Опять про скрытие строк по заданному критерию aval Microsoft Office Excel 4 30.06.2009 12:39