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

Вход

Регистрация

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

 

= Мир MS Excel/создать код vba для сортировки - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
создать код vba для сортировки
Dinadin Дата: Четверг, 18.12.2014, 08:31 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Нужно с помощью макроса отсортировать данные так, чтобы ФИО не повторялось, а код (столбец код) записывался в одну строку разделяясь через запятую.

таблица примерно такая (сорри, файл вложить не могу, режет безопасность) всего 2 столбца

ФИО Код
Виктор Федорович 04
Виктор Федорович 26
Вика 04
Мария Федоровна 01
Федор 04
Серега 28
Серега 74
Серега 49
Яна 65

т.е. должно получится так:

Виктор Федорович 04, 26
Вика 04
Мария Федоровна 01
Федор 04
Серега 28, 74, 49
Яна 65

помогите пожалуйста! очень нужно!


Сообщение отредактировал Dinadin - Четверг, 18.12.2014, 08:37
 
Ответить
СообщениеНужно с помощью макроса отсортировать данные так, чтобы ФИО не повторялось, а код (столбец код) записывался в одну строку разделяясь через запятую.

таблица примерно такая (сорри, файл вложить не могу, режет безопасность) всего 2 столбца

ФИО Код
Виктор Федорович 04
Виктор Федорович 26
Вика 04
Мария Федоровна 01
Федор 04
Серега 28
Серега 74
Серега 49
Яна 65

т.е. должно получится так:

Виктор Федорович 04, 26
Вика 04
Мария Федоровна 01
Федор 04
Серега 28, 74, 49
Яна 65

помогите пожалуйста! очень нужно!

Автор - Dinadin
Дата добавления - 18.12.2014 в 08:31
Pelena Дата: Четверг, 18.12.2014, 08:46 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19572
Репутация: 4646 ±
Замечаний: ±

Excel 365 & Mac Excel


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Dinadin Дата: Четверг, 18.12.2014, 09:03 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
не поняла, как это вставить в эксель :(
 
Ответить
Сообщениене поняла, как это вставить в эксель :(

Автор - Dinadin
Дата добавления - 18.12.2014 в 09:03
Pelena Дата: Четверг, 18.12.2014, 09:07 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19572
Репутация: 4646 ±
Замечаний: ±

Excel 365 & Mac Excel
Это UDF (пользовательская функция)
Как её использовать, можно почитать здесь


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЭто UDF (пользовательская функция)
Как её использовать, можно почитать здесь

Автор - Pelena
Дата добавления - 18.12.2014 в 09:07
Dinadin Дата: Четверг, 18.12.2014, 09:31 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
вставила как функцию определенную пользоваталем.
Но что то не различает одинаковые фио (
 
Ответить
Сообщениевставила как функцию определенную пользоваталем.
Но что то не различает одинаковые фио (

Автор - Dinadin
Дата добавления - 18.12.2014 в 09:31
JayBhagavan Дата: Четверг, 18.12.2014, 11:08 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
Первый опыт со словарём.[vba]
Код
Sub jjj()
      Set fio = Range([a2], [a2].End(xlDown))
      Range(fio(1).Offset(, 3), UsedRange.SpecialCells(xlLastCell)).ClearContents
      Set fk = CreateObject("Scripting.Dictionary")
      For Each cl In fio
          fk.Item(cl.Value) = fk.Item(cl.Value) & cl.Offset(, 1) & ", "
      Next cl
      i = 0
      For Each dc In fk
          i = i + 1
          fio(i).Offset(, 3).Value = "'" & dc
          fio(i).Offset(, 4).Value = "'" & Mid(fk.Item(dc), 1, Len(fk.Item(dc)) - 2)
      Next dc
End Sub
[/vba]
К сообщению приложен файл: __vba__.xlsb (18.1 Kb)


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов

Сообщение отредактировал JayBhagavan - Четверг, 18.12.2014, 11:09
 
Ответить
СообщениеПервый опыт со словарём.[vba]
Код
Sub jjj()
      Set fio = Range([a2], [a2].End(xlDown))
      Range(fio(1).Offset(, 3), UsedRange.SpecialCells(xlLastCell)).ClearContents
      Set fk = CreateObject("Scripting.Dictionary")
      For Each cl In fio
          fk.Item(cl.Value) = fk.Item(cl.Value) & cl.Offset(, 1) & ", "
      Next cl
      i = 0
      For Each dc In fk
          i = i + 1
          fio(i).Offset(, 3).Value = "'" & dc
          fio(i).Offset(, 4).Value = "'" & Mid(fk.Item(dc), 1, Len(fk.Item(dc)) - 2)
      Next dc
End Sub
[/vba]

Автор - JayBhagavan
Дата добавления - 18.12.2014 в 11:08
Dinadin Дата: Четверг, 18.12.2014, 12:34 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

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

Автор - Dinadin
Дата добавления - 18.12.2014 в 12:34
  • Страница 1 из 1
  • 1
Поиск:

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