Добрый день, появилась необходимость объединить в одной ячейке уникальные значения из выделенного диапазона с выбором разделителя. В интернете нашлась почти идеально подходящая под задачу пользовательская функция:
Но есть проблема: объединяются по факту числа меньше единицы, но в диапазоне встречается единица (она может быть в начале, в середине, в конце диапазона, может содержаться несколько раз или ни разу).
Можно ли поправить код самой пользовательской функции ConcatUniq, чтобы игнорировалась (не выводилась) единица во всех этих вариациях, как в приложенном примере?
Код |
---|
Function ConcatUniq(xRg As Range, xChar As String) As String Dim xCell As Range Dim xDic As Object Set xDic = CreateObject("Scripting.Dictionary") For Each xCell In xRg xDic(xCell.Value) = Empty Next ConcatUniq = Join$(xDic.Keys, xChar) Set xDic = Nothing End Function |
Но есть проблема: объединяются по факту числа меньше единицы, но в диапазоне встречается единица (она может быть в начале, в середине, в конце диапазона, может содержаться несколько раз или ни разу).
Можно ли поправить код самой пользовательской функции ConcatUniq, чтобы игнорировалась (не выводилась) единица во всех этих вариациях, как в приложенном примере?