Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Готовые решения

МЕНЮ САЙТА
  • 1
  • 2
  • 3

КАТЕГОРИИ РАЗДЕЛА

ОПРОСЫ
Какой версией Excel Вы пользуетесь?
Всего ответов: 35739
Главная » Готовые решения » VBA » Пользовательские функции

Удаление повторов в строке
| Фотография 13.08.2014, 13:53
Function NoDupesAtString(rng As Range, _
 Optional sep As String = " ", _
 Optional buReg As Long = 0) As String
' формула на листе имеет вид: =NoDupesAtString(A4;", ";1)
' A4 - ячейка, в которой нужно удалить повторы
' ", " - разделитель (по умолчанию пробел)
' 1 - без учета регистра (0 - с учетом регистра, по умолчанию)
Dim v, s As String: s = sep
If buReg = 0 Then
 For Each v In Split(rng.Value, sep)
 If Len(v) Then If InStr(s, sep & v & sep) = 0 Then s = s & v & sep
 Next
Else
 For Each v In Split(rng.Value, sep)
 If Len(v) Then If InStr(UCase(s), sep & UCase(v) & sep) = 0 Then s = s & v & sep
 Next
End If
NoDupesAtString = Mid(s, Len(sep) + 1, Len(s) - Len(sep) * 2)
End Function
Добавил: nilem |
Просмотров: 2337 | Рейтинг: 5.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!