Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, 2016, 2019, and 2021. 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.
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 2021. You can find a version of this tip for the older menu interface of Word here: Jumping to the End of a Word.
Discover the Power of Microsoft Office This beginner-friendly guide reveals the expert tips and strategies you need to skyrocket your productivity and use Office 365 like a pro. Mastering software like Word, Excel, and PowerPoint is essential to be more efficient and advance your career. Simple lessons guide you through every step, providing the knowledge you need to get started. Check out Microsoft Office 365 For Beginners today!
When working in Draft or Normal view, you may want to view the area just to the left of the document's left margin. ...
Discover MoreAdding hyphens to your document can affect the way in which Word wraps text from one line to the next. Optional hyphens, ...
Discover MoreWord has an interesting way of allowing you to select a rectangular block of text, without reference to what may be ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2026-07-08 00:56:53
I'm even later, Barry. Here's another idea: Have Word select the current word and drop to the end of the selection. If the word ends with punctuation, the insertion point will be right at the end of the word. If the word is followed by a space, the insertion point will be after the space, so move it to the left.
If a word is followed by two or more spaces, this will not work, as Word selects all spaces following a word when selecting a word. This macro assumes there is only one space following the word.
Sub FindWordEnd()
Dim charLeft As String
' Select the current word.
Selection.Expand Unit:=wdWord
' Drop to the end of the selection.
Selection.Collapse Direction:=wdCollapseEnd
' When Word selects a word, it selects through to but not including punctuation.
' If there is no punctuation, it selects through to and including the space after the word.
' Therefore, evaluate the character that is now to the left of the insertion point.
' If it's a space, move left one character to the end of the origination word.
charLeft = Selection.Characters.First.Previous.Text
If charLeft = " " Then
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdMove
End If
End Sub
2026-07-03 12:26:51
Barry
@ UP557
Maybe I'm a bit late :) but...
This code works works for most general text! maybe there is something better?
Sub WordEndLeft4()
'
' Go left to end of previous word
Dim strChar As String
Dim sPunc As String
strChar = ""
sPunc = "]}^_.,)?!';:-" ' if selection is one of these must be end of word!
While strChar < Chr(191) 'therefore will work for english language characters
Selection.MoveLeft Unit:=wdCharacter, Count:=1
strChar = Selection.Text
If InStr(sPunc, strChar) <> 0 Then '= punctuation char
Exit Sub
End If
If strChar = " " Then 'need to check for punctuation char
Selection.MoveLeft Unit:=wdCharacter, Count:=1
strChar = Selection.Text
If InStr(sPunc, strChar) = 0 Then '= punctuation char
Selection.MoveRight Unit:=wdCharacter, Count:=1
Exit Sub
End If
Exit Sub
End If
Wend
End Sub
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 © 2026 Sharon Parq Associates, Inc.
Comments