Простенький вопрос по VBA (Excel)
Формулировка задачи:
Есть столбец с текстовыми значениями. Как проще всего получить список уникальных значений столбца, отсортированных по возрастанию?
(Подобный список можно увидеть в автофильтре для данного столбца)
(Подобный список можно увидеть в автофильтре для данного столбца)
Решение задачи: «Простенький вопрос по VBA (Excel)»
textual
Листинг программы
<font color="blue">Function</font> GetUniqueValues(sourceRange <font color="blue">As</font> Range) <font color="blue">As</font> Variant()
<font color="blue">Dim</font> w <font color="blue">As</font> Worksheet
<font color="blue">Dim</font> r <font color="blue">As</font> Range
<font color="blue">With</font> Application
.ScreenUpdating = False
.DisplayAlerts = False
<font color="blue">End</font> <font color="blue">With</font>
<font color="blue">Set</font> w = Worksheets.Add
<font color="blue">Set</font> r = w.Range(<font color="teal">"A1"</font>)
sourceRange.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=r, Unique:=True
r.CurrentRegion.Sort r, xlAscending
GetUniqueValues = r.CurrentRegion.Value
w.Delete
<font color="blue">With</font> Application
.ScreenUpdating = True
.DisplayAlerts = True
<font color="blue">End</font> <font color="blue">With</font>
<font color="blue">End</font> <font color="blue">Function</font>