Welcome toWord.Tips.Net
Ask a Word Question
Make a Comment
Learn Access Now
Free Printable Forms
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips
Setting Fraction Bar Overhang Spacing in the Equation Editor
Printing On Both Sides of the Paper
Turning Off AutoComplete for Dates
Understanding Auto Line Spacing
Adding Comments to Your Document
Conditional Calculations in Word
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
Step Up and Take Control! Subscribers to WordTips know just how valuable a resource it is. WordTips Premium provides twice the number of exceptional, easy-to-understand tips every week in an ad-free newsletter, as well as substantial discounts on WordTips archives and e-books.