Страницы: 1
RSS
Сцепить без повторов непустые ячейки
 
есть огромное желание сделать функцию сцепления нескольких ячеек в одну, да еще и без повторов, да еще и чтобы пустые пропускались...

Есть два кусочка кода
Код
Public Function СцепитьНеПустые(target As Range)
    For Each cl In target.Cells
        If cl.Value <> "" Then СцепитьНеПустые= СцепитьНеПустые & cl.Value & ", "
    Next
End Function
первый сцепляет непустые ячейки, например если в 3х ячейках будут фамилии, то в ячейке выведутся все 3 фамилии через запятую
второй кусок кода сцепляет уникальные значения
Код
Function СцепитьУник(rng As Range, Optional sep As String = "; ") As String
Dim x, v, s As String
x = Intersect(rng, ActiveSheet.UsedRange).Value: s = sep
For Each v In x
 v = Trim$(v)
 If Len(v) Then If InStr(s, sep & v & sep) = 0 Then s = s & v & sep
Next
СцепитьУник= Mid(s, Len(sep) + 1, Len(s) - Len(sep) * 2)
End Function
Не пойму как прописать во втором коде условие чтобы пропускать пустые ячейки или ячейки содержащие слово "тест"
Второй код используется для сцепления должностей, без повторов

сам файл к сожалению прикрепить не могу, слишком большой.
Изменено: vikttur - 21.07.2021 14:36:28
 
Цитата
rpepel написал:
чтобы пропускать пустые ячейки
они и так пропускаются. Это даже по коду видно.
Цитата
rpepel написал:
ячейки содержащие слово "тест"
так добавьте условие:
Код
If v <> "тест" Then
    If Len(v) Then If InStr(s, sep & v & sep) = 0 Then s = s & v & sep
end if
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, Спасибо, VBA только осваиваю, не всегда получается разобраться с очевидным  :)  
 
Еще один вопрос возник. один вопрос - одна тема[МОДЕРАТОР]
Изменено: vikttur - 21.07.2021 14:37:48
Страницы: 1
Наверх