Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Jumping to the End of a Word.
Written by Allen Wyatt (last updated June 8, 2019)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365
Lori wonders if there is a keyboard shortcut to jump to the end of a word. She knows that Ctrl+Right Arrow jumps to the beginning of the next word, but she'd like to jump to the end of the next word, prior to any punctuation or spaces.
There is no built-in shortcut to do this. The only way it can be done is with a macro that could then be assigned to a shortcut key. You might think that you could simply record a macro that would move to the beginning of the next word (by pressing Ctrl+Right Arrow) and then back up one character (by pressing Left Arrow). This won't work, however, because the Ctrl+Right Arrow actually moves to the beginning of the next word or to the left of the next punctuation mark, whichever comes first. Thus, if the shortcut key moved to the left of a period (for example) at the end of a sentence, then moving one character to the left would put you within the word instead of at the end of the word.
So, your macro needs to actually evaluate what is to the left of the insertion point after using the Ctrl+Right Arrow. The following does just that:
Sub MoveToEndOfWord1() Selection.MoveRight Unit:=wdWord, Count:=1 Selection.MoveLeft Unit:=wdCharacter, Count:=1 If Selection.Text <> " " Then Selection.MoveRight Unit:=wdCharacter, Count:=1 End If End Sub
The only caveat for the macro is that you need to run it from within a word. If you are already at the end of a word, it does absolutely nothing. If you want a macro that will work from the end of a word, as well, then you need to modify it a bit:
Sub MoveToEndOfWord2() If Selection.Text = " " Then Selection.MoveRight Unit:=wdWord, Count:=1 End If Selection.MoveRight Unit:=wdWord, Count:=1 Selection.MoveLeft Unit:=wdCharacter, Count:=1 If Selection.Text <> " " Then Selection.MoveRight Unit:=wdCharacter, Count:=1 End If End Sub
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 (8336) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365. You can find a version of this tip for the older menu interface of Word here: Jumping to the End of a Word.
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!
Word allows you to place text in multiple text boxes and have that text flow from one text box to another. This tip ...
Discover MoreWhen using Word's editing tools, you may notice some extraneous spaces left where you don't want them. This tip addresses ...
Discover MoreBreaks in a document can be easily moved from one place to another using familiar editing techniques. The trick is to ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2024-10-31 06:32:30
UP557
Hi Allen, thanks for this useful macro. I have tried to modify it to create another macro for jumping to the end of the previous word. It does work, but gets stuck when it reaches a word ending with a punctuation mark (the cursor remains behind the punctuation mark). Would you be able to help?
---------------------------------------------------------------------
Sub WordEndLeft()
'
' Go left to end of word
'
Selection.MoveLeft Unit:=wdWord, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1
If Selection.Text <> " " Then
Selection.MoveRight Unit:=wdCharacter, Count:=1
End If
If Selection.Text <> " " Then
Selection.MoveRight Unit:=wdCharacter, Count:=1
End If
End Sub
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 © 2024 Sharon Parq Associates, Inc.
Comments