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

Вход

Регистрация

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

 

= Мир MS Excel/Как собрать текст в ячейке без повторов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как собрать текст в ячейке без повторов (Макросы/Sub)
Как собрать текст в ячейке без повторов
Ravels Дата: Вторник, 08.10.2019, 13:56 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день!

Имеется таблица сданными. В ней в колонке "Том" указаны значения в текстовом формате. Например пользователь выбирает три строки (в примере строки 13-15 выделены желтым) и из выбранных строки необходимо собрать все значения с колонки "Том" и прописать в одну ячейку без повторов (как в примере в строке 18). Как видно в примере значения в колонке "Том" разделены запятой и пробелом и в одной ячейке значений может быть 2, а может быть и 7. Также пользователь может выбирать строки не подряд а разные и разное количество.

Пожалуйста, помогите осуществить задуманное
К сообщению приложен файл: __.xlsm (9.5 Kb)
 
Ответить
СообщениеДобрый день!

Имеется таблица сданными. В ней в колонке "Том" указаны значения в текстовом формате. Например пользователь выбирает три строки (в примере строки 13-15 выделены желтым) и из выбранных строки необходимо собрать все значения с колонки "Том" и прописать в одну ячейку без повторов (как в примере в строке 18). Как видно в примере значения в колонке "Том" разделены запятой и пробелом и в одной ячейке значений может быть 2, а может быть и 7. Также пользователь может выбирать строки не подряд а разные и разное количество.

Пожалуйста, помогите осуществить задуманное

Автор - Ravels
Дата добавления - 08.10.2019 в 13:56
nilem Дата: Вторник, 08.10.2019, 14:46 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Ravels, привет
Вот попробуйте. Делайте правый клик в диапазоне D2:D15
[vba]
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("D2:D15")) Is Nothing Then Exit Sub

Cancel = True
Dim s$, v

With Range("rPrimer")
    s = IIf(Len(.Value), ", " & .Value & ", ", ", ")
    For Each v In Split(Target.Value, ", ")
        If InStr(s, ", " & v & ", ") = 0 Then s = s & v & ", "
    Next
    .Value = Mid(s, 3, Len(s) - 4)
End With
End Sub
[/vba]
К сообщению приложен файл: 5199696.xlsm (16.2 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеRavels, привет
Вот попробуйте. Делайте правый клик в диапазоне D2:D15
[vba]
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("D2:D15")) Is Nothing Then Exit Sub

Cancel = True
Dim s$, v

With Range("rPrimer")
    s = IIf(Len(.Value), ", " & .Value & ", ", ", ")
    For Each v In Split(Target.Value, ", ")
        If InStr(s, ", " & v & ", ") = 0 Then s = s & v & ", "
    Next
    .Value = Mid(s, 3, Len(s) - 4)
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 08.10.2019 в 14:46
Ravels Дата: Среда, 09.10.2019, 01:45 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, Спасибо!!!
Остальное попробую дошаманить сам
 
Ответить
Сообщениеnilem, Спасибо!!!
Остальное попробую дошаманить сам

Автор - Ravels
Дата добавления - 09.10.2019 в 01:45
Ravels Дата: Среда, 09.10.2019, 10:47 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, Позвольте 2 вопроса?
Что значит знак $ в строке Dim s$, v?
Посоветуйте хорошую литературу по VBA на русском языке
 
Ответить
Сообщениеnilem, Позвольте 2 вопроса?
Что значит знак $ в строке Dim s$, v?
Посоветуйте хорошую литературу по VBA на русском языке

Автор - Ravels
Дата добавления - 09.10.2019 в 10:47
nilem Дата: Среда, 09.10.2019, 11:18 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Знак $ - это сокращение As String
Литература. Поищите Дж. Уокенбах "Excel 2007(10, 13, 16). Профессиональное программирование на VBA"
или здесь


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеЗнак $ - это сокращение As String
Литература. Поищите Дж. Уокенбах "Excel 2007(10, 13, 16). Профессиональное программирование на VBA"
или здесь

Автор - nilem
Дата добавления - 09.10.2019 в 11:18
Ravels Дата: Среда, 09.10.2019, 12:48 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
nilem, Спасибо!!!
 
Ответить
Сообщениеnilem, Спасибо!!!

Автор - Ravels
Дата добавления - 09.10.2019 в 12:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как собрать текст в ячейке без повторов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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