
Tips.Net > WordTips Home > Sorting Information > Odd Sorting
Summary: Sorting information is a common task in Word. Sometimes, however, it is difficult to determine exactly how to sort certain types of information. This tip shows how to use a macro to sort a series of names that may have suffixes associated with them. (This tip works with Microsoft Word 97, Word 2000, Word 2002, and Word 2003.)
A WordTips reader wrote asking how to use Word to sort some data which had been collected over the course of years. The data is for a legal firm, so the names could have suffixes, such as the following:
John Davis, Esq.
The question was how to sort this correctly, as the reader was able to do under WordPerfect. The best long-term solution, of course, is to convert the data to a database format, such as Access or even to a spreadsheet, such as Excel. Short of that, however, the following VBA macro will allow the list to be sorted correctly:
Sub CustomSort()
Set myrange = Selection.Range
For Each p In myrange.Paragraphs
p.Range.Select
If InStr(1, p, ",") > 0 Then
CharCount = InStr(1, p, ",") - 1
Selection.StartOf
Selection.MoveRight Unit:=wdCharacter, _
Count:=CharCount
Else
Selection.EndOf
Selection.MoveLeft Unit:=wdCharacter, _
Count:=1
End If
Selection.MoveLeft Unit:=wdWord, Count:=1
Selection.MoveLeft Unit:=wdCharacter, _
Count:=1, Extend:=wdExtend
Selection.TypeText Text:=vbTab
Next p
myrange.Select
Selection.Sort ExcludeHeader:=False, _
FieldNumber:="Field 2", _
SortFieldType:=wdSortFieldAlphanumeric, _
SortOrder:=wdSortOrderAscending, _
FieldNumber2:="Field 1", _
SortFieldType2:=wdSortFieldAlphanumeric, _
SortOrder2:=wdSortOrderAscending, _
FieldNumber3:="", _
SortFieldType3:=wdSortFieldAlphanumeric, _
SortOrder3:=wdSortOrderAscending, _
Separator:=wdSortSeparateByTabs, _
SortColumn:=False, _
CaseSensitive:=False, _
LanguageID:=wdLanguageNone
End Sub
To use this macro, simply select the paragraphs you want to sort, and then run the macro. It searches for a comma in each paragraph, and then finds the word just before the comma. It replaces the space (or tab) just before that word with a tab. Thus, each paragraph is separated into two fields: the first and possibly middle name is the first field, while the last name and possible suffix is the second field. The selection is then sorted according to the second field.
Tip #1207 applies to Microsoft Word versions: 97 2000 2002 2003
More Power! Expand your skills and make Word really sing! It's all possible with macros. The best resource anywhere for macros is WordTips: The Macros. Check it out today!
Thousands of WordTips, available for immediate download. Have all the Microsoft Word info you need, right at your fingertips. (more information...)
Ask a Word Question
Make a Comment
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Pet Tips
Word2007 Tips
WordTips