Получение уникальных значений из столбца средствами VBA
Формулировка задачи:
Всем привет.
Нужен совет знающих людей по задаче - Получение уникальных значений из столбца средствами VBA.
1) Пробовали через фильтр - фильтр установить удается, однако непонятно как получить значения фильтра.
Возможно ли это?
2) Второй вариант решения задачи через массив - записать все значения столбца в массив, далее возможно несколько вариантов - удалить в текущем массиве все неуникальные значения либо переместить все уникальные значения в новый массив.
Первая часть (запись элементов в массив) реализована, со второй частью возникают проблемы - как удалить все неуникальные значения из массива непонятно, да и возможно ли это? Переместить значения в новый массив - как определить границы нового массива? Каким должен быть алгоритм?
Возможно есть какой то более простой способ решения данной задачи.
В любом случае буду благодарна за любую помощь/подсказку
Решение задачи: «Получение уникальных значений из столбца средствами VBA»
textual
Листинг программы
Sub PoiskDublei() Dim arr() As String ' Объявление динамического массива Dim iLastRow As Integer 'Переменная для поиска последнего значения в столбце Dim i As Integer, Dict, k As Integer, s As String Set Dict = CreateObject("Scripting.Dictionary") iLastRow = Cells(Rows.Count, 2).End(xlUp).Row 'определение количества заполненных строк For i = 2 To iLastRow s = Cells(i, 2).Value If Not Dict.Exists(s) And Trim$(s) <> "" Then Dict.Add s, i k = k + 1 ReDim Preserve arr(1 To k) arr(k) = s End If Next End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д