Статьи из блога

Сортировка данных в строке по алфавиту для Word 2007

Андрей интересуется:

Подскажите пожалуйста, как сделать сортировку в Word 2007 по алфавиту значений, находящихся в строчке? Например, вот такие значения в строчке - 63, 53а, 67, 73в, 75а, 69, 69б, 79в, 75б, 73г, 69в и т.д.

Это можно сделать с помощью следующего макроса (подсказал Graham Mayor). Выделите строчку с вашими номерами и примените макрос:

Sub sortNumbers()
Dim oRng As Range
With Selection
   .HomeKey wdLine
   .MoveDown Unit:=wdLine, Count:=1, Extend:=wdExtend
   Set oRng = .Range
End With
oRng.End = oRng.End - 1
oRng = Replace(oRng, ", ", Chr(13))
oRng.Sort ExcludeHeader:=False, FieldNumber:="Paragraphs", _
SortFieldType:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending
oRng = Replace(oRng, Chr(13), ", ")
End Sub
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 7

  1. Серёга
    07.12.2008 в 19:17 | #1

    Если операцию приходится выполнять часто, то конечно лучше написать и использовать макрос.

    А так бы разбил строку на отдельные строки, отсортировал эти строки и преобразовал обратно в строку.

    1. Заменить запятую и пробел на знак абзаца

    2. Таблица - Сортировка

    3. Заменить знак абзаца на запятую и пробел

  2. Аделина
    08.12.2008 в 21:23 | #2

    А где в 2007 офисе создать макрос?

  3. 09.12.2008 в 10:23 | #3

    Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

    http://wordexpert.ru/page/sozdanie-makrosa-iz-gotovogo-koda

    http://wordexpert.ru/page/avtomaticheskaya-zapis-makrosa

  4. 31.03.2010 в 13:13 | #4

    Данный макрос хорош в том случае если перед цифрами и за ними нет слов.

    Может, кто знает, как его переписать, чтобы можно было ссылки на литературные источники сортировать в тексте (объемом 120-150 листов)?

    Пример: "слово_1" [1, 5, 4, 2, 8, 3] "слово_2" -> сделать "слово_1" [1, 2, 3, 4, 5, 8] "слово_2".

  5. маша
    02.09.2010 в 09:38 | #5

    подскажите, можно ли в ворде по список сделать по алфавиту?

  6. 02.09.2010 в 13:55 | #6

    Антон! Макрос работает для чисел, состоящих из двух (и только!) цифр. А написать аналогичный макрос для чисел из одной цифры; двух, трёх, ... цифр нельзя?

  7. Ирина
    30.10.2012 в 20:50 | #7

    а как это сделать с текстом без цифр?

Оставьте комментарий!

(обязательно)

^ Наверх