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

Вход

Регистрация

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

 

= Мир MS Excel/Сцепить без повторов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сцепить без повторов (Макросы/Sub)
Сцепить без повторов
AleX_Leon Дата: Среда, 26.11.2014, 19:22 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 4 ±
Замечаний: 0% ±

Excel 2016
Доброго времени суток. Есть задача, нужно сцепить столбец "арт" со столбцами "Размеры", так чтобы размеры не повторялись и были в одной ячейки. Пробовал с помощью пользоват. функции отсюда - не получилось... ошибка "#ЗНАЧ!". Пример приложен.
Заранее спасибо
К сообщению приложен файл: 3062094.xlsx (9.3 Kb)


i love www.excelworld.ru
 
Ответить
СообщениеДоброго времени суток. Есть задача, нужно сцепить столбец "арт" со столбцами "Размеры", так чтобы размеры не повторялись и были в одной ячейки. Пробовал с помощью пользоват. функции отсюда - не получилось... ошибка "#ЗНАЧ!". Пример приложен.
Заранее спасибо

Автор - AleX_Leon
Дата добавления - 26.11.2014 в 19:22
RAN Дата: Среда, 26.11.2014, 21:25 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Пример чего? В xlsx макросы не живут.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеПример чего? В xlsx макросы не живут.

Автор - RAN
Дата добавления - 26.11.2014 в 21:25
nilem Дата: Четверг, 27.11.2014, 09:02 | Сообщение № 3
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Привет, AleX_Leon

Вроде бы нет причин для "#ЗНАЧ!"
а вот пробелы в ячейках есть, поэтому добавим Trim
[vba]
Код
Function JoinNoDup(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
JoinNoDup = Mid(s, Len(sep) + 1, Len(s) - Len(sep) * 2)
End Function
[/vba]
Чтобы получить результат точно, как в примере, пишем на листе такую формулку
Код
=JoinNoDup(B2:I5;"")


почему-то вместо "No" получилось "Чо" :)
еще раз: =JoinNoDup(B2:I5;"")


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Четверг, 27.11.2014, 09:05
 
Ответить
СообщениеПривет, AleX_Leon

Вроде бы нет причин для "#ЗНАЧ!"
а вот пробелы в ячейках есть, поэтому добавим Trim
[vba]
Код
Function JoinNoDup(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
JoinNoDup = Mid(s, Len(sep) + 1, Len(s) - Len(sep) * 2)
End Function
[/vba]
Чтобы получить результат точно, как в примере, пишем на листе такую формулку
Код
=JoinNoDup(B2:I5;"")


почему-то вместо "No" получилось "Чо" :)
еще раз: =JoinNoDup(B2:I5;"")

Автор - nilem
Дата добавления - 27.11.2014 в 09:02
AleX_Leon Дата: Пятница, 28.11.2014, 14:27 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 4 ±
Замечаний: 0% ±

Excel 2016
nilem, ваш пример для одного арта, а у меня их 300
[/sup]
В xlsx макросы не живут.

это понятно


i love www.excelworld.ru

Сообщение отредактировал AleX_Leon - Пятница, 28.11.2014, 14:33
 
Ответить
Сообщениеnilem, ваш пример для одного арта, а у меня их 300
[/sup]
В xlsx макросы не живут.

это понятно

Автор - AleX_Leon
Дата добавления - 28.11.2014 в 14:27
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сцепить без повторов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!