Written by Allen Wyatt (last updated September 24, 2021)
This tip applies to Word 2007, 2010, 2013, and 2016
Word allows you to adjust the case of selected text. If you are using Word 2007 or a later version you can make sure the Home tab of the ribbon is displayed and then clicking the Change Case tool (Aa) in the Font group.
You'll see a list of different ways in which Word can adjust the case of your text. One of the most common case changes is title case. This type of change results in each word of the selected text being uppercase, while the rest of the letters are in lowercase. The only problem with this is that Word is rather indiscriminate in what it capitalizes. For instance, if you select the text "this is a test" and then use the Change Case dialog box to change the text to title case, you end up with "This Is A Test." Common rules of capitalization, however, would dictate that the "short" words ("is" and "a") should not be capitalized.
This is where a macro comes in handy. You can create a macro to intelligently apply title case to a text selection. The macro can be programmed so that it ignores a specific set of words while doing its work. Consider the following macro:
Sub TitleCase() Dim lclist As String Dim wrd As Integer Dim sTest As String ' list of lowercase words, surrounded by spaces lclist = " of the by to this is from a " Selection.Range.Case = wdTitleWord For wrd = 2 To Selection.Range.Words.Count sTest = Trim(Selection.Range.Words(wrd)) sTest = " " & LCase(sTest) & " " If InStr(lclist, sTest) Then Selection.Range.Words(wrd).Case = wdLowerCase End If Next wrd End Sub
When you select some text and run this macro, the first thing it does is to change the text to Word's standard title case. It then steps through the words in the selection (Word makes the words available in the Words collection), examining each one. Each word is extracted and placed in the sTest variable, which then is converted to lowercase. The contents of sTest are then checked against the lclist string to see if there is a match. If there is, then the word in the original text is converted to lowercase.
The key to the macro is the lclist string. This string contains a list of words that you want to always appear in lowercase. These words are surrounded by spaces—including the first and last words of the string. When the sTest comparison is done, sTest contains a leading and trailing space so that successful matches can be made. (The spaces are included so that there are no mistakes in word matching, for instance matching "he" to a part of "the".)
Note, as well, that the comparison portion of the macro doesn't pay attention to the first word in the text selection. This word is assumed to be the first word of a phrase or sentence, which should always start with an uppercase character.
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (3868) applies to Microsoft Word 2007, 2010, 2013, and 2016. You can find a version of this tip for the older menu interface of Word here: Intelligent Title Case.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Document backgrounds come in handy if you plan on converting the document to a Web page. Here's how you can add a ...
Discover MoreIf you turn explicit formatting on and off as you type, you may notice some quirky behavior in Word. This tip examines ...
Discover MoreIt's easy to apply formatting to text, but often hard (after the fact) to know exactly what was done. If you often need ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-03-29 17:20:37
csg
This is just what I was looking for! Thanks so much!
2020-02-06 07:23:01
Brin Crane
Thanks for the macro Allen.
As a seasoned proofreader and editor, I am constantly altering other peoples work with their constant use of capitalisation of every word when it comes to titles of books, and movies etc.
Using the 'Change Case' icon in WORD 365 is rather tedious and you don't always get the result you want. However, I now have placed your macro (with additional short words) in an icon and placed it on my work ribbon. Soooooo easy peasy now!
2020-02-05 08:00:07
jones
Surely there is another way to do this besides macros. My place of business' global security protocols have blocked the use of macros in all Microsoft suite applications.
2019-04-01 09:13:22
rcstan
Just using Shift + F3 to cycle between initial caps, all caps and no caps to change the case of selected text is still the most straightforward short cut of all.
2019-03-31 14:28:50
Pete u'Line
From the comments, it's clear that "title casing" is not such a simple think, although most users use it not worring so much, which is not a happy new.
I found the tip looking for a different missing feature of the standard Title Case command. In romanic languages title casing is not the rule, but Sentence case is preferred. In this language, as not in English, the use of apostrophe can be frequent (and not always at the end of words, like "Jim's"), and Title Casing is increasingly used.
When you have apostrophe at the begining of the sentence, you need "L'Endemà del Big Bang" (first letter after the apostrophe in upper case).
When the apostrophe is in any other position (but before an entire word) you will want "Cercant l'Arca Perduda" (particle in lower case, the word beyond the apostrophe with the first character in upper case.
If someone founds that of any interest... I have no skills in writting VBA code... yet.
2018-06-24 02:02:27
Anton Fourie
Further to my previous comment...
I used the macro in a table, selecting multiple cells (sentences), which caused the isse (OK, I'm a NOOB!)
Is there any way to change the macro so I can use it on multiple sentences?
Thanks!!
2018-06-24 02:00:05
Anton Fourie
This has worked for me for a long time, and now it stopped working - ALL words are now capitalized. Grrr!!! What is wrong?Sub TitleCase() Dim lclist As String Dim wrd As Integer Dim sTest As String ' list of lowercase words, surrounded by spaces lclist = " of the by to this is from a then or for as and when if any on an in at " Selection.Range.Case = wdTitleWord For wrd = 2 To Selection.Range.Words.Count sTest = Trim(Selection.Range.Words(wrd)) sTest = " " & LCase(sTest) & " " If InStr(lclist, sTest) Then Selection.Range.Words(wrd).Case = wdLowerCase End If Next wrdEnd Sub
2017-09-25 13:43:50
Patricia Boyd
Haha, Rod Grealish! Yes, I guess you're right. If "turn on" means "to become disloyal," as in "Disgusted with the team, Joe turned on them and never attended another game," then "on" should be lowercase, as it's a preposition.
2017-09-24 07:55:22
Gary
The macro above will only work for one sentence of course. You normally wouldn't require Title Case for more than that, but just be aware that if additional sentences are selected this macro will cause each of them to begin with a lower-case letter if the sentence starts with one of the words in the LcList (The, This, From, By, etc).
2017-09-24 05:06:38
Rod Grealish
Presumably there is a semantic difference between "Turn On Your Audience with Music" and "Turn on Your Audience with Music" . :-)
2017-09-23 07:55:00
Patricia Boyd
Great! Thanks for the terrific, time-saving tip! To follow up on Patritica Compton's comment, all the publishers I work for (some major publishers and some Ivy League university presses) want verbs capitalized in titles. Thus, "Is," "Are," "Were," etc. , are capped, even though they are short words. Other readers might want to note this guideline. Additionally, and now I'm showing my true nerdiness, words like "on," and "up" are not always prepositions and, at least for my publishers, are capped: "Turn On Your Audience with Music." Finally, most titles capitalize the first and last word of titles, no matter what the part of speech: "On Being a Beatles Fan," "What Is the Earth's Crust Made Of?"
So your fantastic macro can be used anyway, and the user needs just to quickly skim the title afterward to make sure none of the exceptions cited above exist.
Thanks again!
2017-09-23 06:48:57
Patricia Compton
I believe it is a misunderstanding to say that common rules of capitalization require "short" words to be lower-cased. The rule used to be that articles (a, an, the) and prepositions (sometimes all, or sometimes only those 5 letters or fewer long, depending upon the editor) were not capitalized unless at the beginning of the title. "Is" is a verb, and verbs get capitalized no matter how short they are. I do realize that the "common rules" may have changed since many people are no longer sufficiently educated in grammar to understand what part of speech a particular word represents.
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2023 Sharon Parq Associates, Inc.
Comments