_WordTips_の読者が、Wordを使用して何年にもわたって収集されたデータを並べ替える方法を尋ねた。データは法律事務所のものであるため、名前には次のような接尾辞を付けることができます。

John Davis, Esq.

問題は、読者がWordPerfectで実行できたので、これを正しくソートする方法でした。もちろん、最善の長期的な解決策は、データをAccessなどのデータベース形式に変換するか、Excelなどのスプレッドシートに変換することです。ただし、それを除けば、次のマクロを使用すると、リストを正しく並べ替えることができます。

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

このマクロを使用するには、並べ替える段落を選択して、マクロを実行するだけです。各段落でコンマを検索し、コンマの直前の単語を見つけます。スペース(またはタブ)を置き換えます

その単語の直前にタブがあります。したがって、各段落は2つのフィールドに分けられます。最初のフィールドと場合によってはミドルネームが最初のフィールドであり、姓と可能な接尾辞が2番目のフィールドです。次に、選択は2番目のフィールドに従ってソートされます。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1207)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ:

link:/ wordribbon-Odd_Sorting [OddSorting]