Выбор уникальных (неповторяющихся) значений из списка в виде текстовой строки

Function JustUnique(ByVal txt As String, Optional ByVal Separator As String = ", ") As String
    ' Принимает в качестве параметра обрабатываемую строку txt,
    ' и разделитель Separator элементов строки txt.
    ' Возвращает строку txt, но уже не содержающую повторяющихся значений
    Dim coll As New Collection: On Error Resume Next
    For Each v In Split(txt, Separator)
        coll.Add CStr(v), CStr(v)
    Next v
    For Each v In coll: JustUnique = JustUnique & Separator & v: Next v
    JustUnique = Mid(JustUnique, Len(Separator) + 1)
End Function
 
 
Sub ПримерИспользования_ВыборУникальныхЗначенийИзСписка()
    txt = "58, 28, 32, 60, 28, 58, 14"
    new_txt = JustUnique(txt) ' возвращает строку "58, 28, 32, 60, 14"
    Debug.Print "Уникальные значения: " & new_txt, vbInformation, "Исходная строка: " & txt
End Sub

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
      _   _____           _     __        __  _  __
| | |_ _| _ __ | | __ \ \ / / | |/ /
_ | | | | | '_ \ | |/ / \ \ /\ / / | ' /
| |_| | | | | |_) | | < \ V V / | . \
\___/ |_| | .__/ |_|\_\ \_/\_/ |_|\_\
|_|
Введите код, изображенный в стиле ASCII-арт.

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.