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

Вход

Регистрация

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

 

= Мир MS Excel/Группировка строк по слову в тексте ячейки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Группировка строк по слову в тексте ячейки (Макросы/Sub)
Группировка строк по слову в тексте ячейки
-=Dj=- Дата: Пятница, 23.06.2017, 13:51 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте.
Помогите с макросом, пожалуйста.
Нужно сгруппировать контрагентов по рынкам "Аквилон" "Олимп" и остальное. проблема в том что название рынка обычно после Ф.И.О. контрагента и обычная сортировка не справляется.
(в других городах рынков может быть больше, и называться они будут по разному. просьба не фиксировать кол-во аргументов для группировки, я буду подгонять макрос под другие города)
К сообщению приложен файл: 8728889.xls(26Kb)
 
Ответить
СообщениеЗдравствуйте.
Помогите с макросом, пожалуйста.
Нужно сгруппировать контрагентов по рынкам "Аквилон" "Олимп" и остальное. проблема в том что название рынка обычно после Ф.И.О. контрагента и обычная сортировка не справляется.
(в других городах рынков может быть больше, и называться они будут по разному. просьба не фиксировать кол-во аргументов для группировки, я буду подгонять макрос под другие города)

Автор - -=Dj=-
Дата добавления - 23.06.2017 в 13:51
Kuzmich Дата: Пятница, 23.06.2017, 14:59 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 319
Репутация: 61 ±
Замечаний: 0% ±

Excel 2003
Как-то данные надо привести к единому стилю, а то где-то между звездочами(*) есть пробел,
которого не должно быть, где-то слово в * не отделено пробелом и т.д.
[vba]
Код
Sub Tablica()
Dim i As Long
Dim iLastRow As Long
Dim arr
Dim j As Integer
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  For i = 2 To iLastRow
    arr = Split(Cells(i, 1), " ")
      Cells(i, 1) = arr(UBound(arr))
    For j = 1 To UBound(arr) - 1
      Cells(i, 1) = Cells(i, 1) & " " & arr(j)
    Next
  Next
  Range("A2:E" & iLastRow).Sort Range("A2")
End Sub
[/vba]
 
Ответить
СообщениеКак-то данные надо привести к единому стилю, а то где-то между звездочами(*) есть пробел,
которого не должно быть, где-то слово в * не отделено пробелом и т.д.
[vba]
Код
Sub Tablica()
Dim i As Long
Dim iLastRow As Long
Dim arr
Dim j As Integer
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  For i = 2 To iLastRow
    arr = Split(Cells(i, 1), " ")
      Cells(i, 1) = arr(UBound(arr))
    For j = 1 To UBound(arr) - 1
      Cells(i, 1) = Cells(i, 1) & " " & arr(j)
    Next
  Next
  Range("A2:E" & iLastRow).Sort Range("A2")
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 23.06.2017 в 14:59
-=Dj=- Дата: Суббота, 24.06.2017, 14:27 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Kuzmich, Спасибо, работает. Стиль подгоним)
 
Ответить
СообщениеKuzmich, Спасибо, работает. Стиль подгоним)

Автор - -=Dj=-
Дата добавления - 24.06.2017 в 14:27
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Группировка строк по слову в тексте ячейки (Макросы/Sub)
Страница 1 из 11
Поиск:

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