Всем здравствуйте, прошу подсказать, как переделать отбор уникальных элементов в listbox, чтобы он отбирал не только по одному столбцу, а по двум (D:E).
Код
Dim dic As Object, arr(), i&
With Лист1
arr = .Range("D2:E" & .Cells(Rows.Count, 1).End(xlUp).Row).Value
Set dic = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(arr)
dic.Item(arr(i, 2)) = ""
Next
ListBox1.Clear
ListBox1.List = dic.Keys
End With
RAN, к сожалению не то, можно сделать так чтобы сравнивал по двум столбцам, что если у меня есть в D - дерево, а в C - леса, а ниже в D - метал, а в C - леса, то он выведет в listbox два объекта - леса, но при выборе одного из них в listbox объект подставляется в TextBox2, а его материал из этой строки подставляется в TextBox1. И у меня не получается сделать так, чтобы отбирались значения не только по столбцу E, а двум D:E, чтобы он сравнивал 2 значения и отбирал от них уникальные данные в строке.
Если правильно понял задачу: забрать в массив из трёх столбцов диапазон с данными: первые два - это сами данные с листа, а в третьем сделать сцепку первых двух. Вот по этому третьему столбцу и создать коллекцию уникальных.