Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.
With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Adding Serial Commas in a Sentence.
One of the most common issues faced by Emily when editing involves the insertion of the serial comma in an in-line list of items, before the final conjunction between list items. Emily's office enforces the use of the serial comma for clarity and to avoid such potentially awkward phrasings as, "I dedicate this book to my parents, Mother Teresa and Jesus." However, most writers do not like to use this comma, so Emily spends a good amount of time editing it into almost every paragraph of text she comes across. Emily notes that it would make her life easier if she had a macro that would search from the insertion point to the end of the current sentence and insert a comma before the next occurrence of the common conjunctions "and" and "or", but only if there is no comma already there.
The best way to handle this situation is with a macro, as Emily notes. Here is one that will perform the task:
Sub SerialComma() Dim MySelection As Selection Selection.MoveRight Unit:=wdSentence, Extend:=wdExtend Set MySelection = Selection Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "([!,.?;:]) and " .Replacement.Text = "\1, and " .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll MySelection.Select With Selection.Find .Text = "([!,.?;:]) or " .Replacement.Text = "\1, or " End With Selection.Find.Execute Replace:=wdReplaceAll MySelection.Select Selection.Collapse End Sub
The macro first selects everything from the current insertion point to the end of the current sentence. Then, using a wild card search, it searches for an occurrence of the word "and" that doesn't follow a punctuation mark. If it finds it, it replace the occurrence with a comma and the word "and". It will then do a similar search-and-replace operation for the word "or".
This macro can, of course, be assigned to a shortcut key or a toolbar button to make adding this type of comma a snap.
Another configuration change you might want to do is to tell Word that you want to have it mark as incorrect any missing commas in your inline lists. You can make this change in this manner:
Figure 1. The Spelling & Grammar tab of the Options dialog box.
Figure 2. The Grammar Settings dialog box.
The setting won't insert the last comma for you, but it will catch those instances where the comma is not present.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (9293) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Adding Serial Commas in a Sentence.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!