Простенький вопрос по 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>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5