Written by Allen Wyatt (last updated December 27, 2023)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, and 2021
George would like to condense only the space between words in some text he selects in a document. He can change the point size of each space, one at a time. He can also do it by finding the space and replacing it with a space that is a smaller font size. However, he would like to decrease the size of the spaces step by step. (For example, 0.1 points in each step.)
It isn't possible to do exactly what George wants because Word only allows you to adjust font size in half-point increments, not tenth-point increments. If decrementing by a half-point at a time will do, then the best approach is to use a macro:
Sub StepSpaceFontSize() Dim F As Double Dim C As Long For C = 1 To Len(Selection) If Asc(Mid(Selection, C, 1)) = 32 Then F = Selection.Range.Characters(C).Font.Size If F > 5 Then Selection.Range.Characters(C).Font.Size = (F - 0.5) End If End If Next C End Sub
The macro steps through each character in whatever text is selected and, if the character is a space, decreases the point size of just that space. The macro enforces a bottom limit on font size, as it will only go down to 5 points.
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 (13717) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and 2021.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 365 applications with VBA programming. Written in clear terms and understandable language, the book includes systematic tutorials and contains both intermediate and advanced content for experienced VB developers. Designed to be comprehensive, the book addresses not just one Office application, but the entire Office suite. Check out Mastering VBA for Microsoft Office 365 today!
When writing a macro, you may need a way to clear the undo stack. This can be done with a single command, as described in ...
Discover MoreVBA is great at working with both strings and numbers. At some point, you may have a number you need to convert to a ...
Discover MoreDo you need to copy, within a macro, a range of pages? Because pages can be so fluid in Word, this can be a bit tricky. ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2019-12-28 06:47:20
Ken Endacott
The macro must be executed for each 0.5 point reduction in space size. The following macro repeats the reductions until cancelled.
Sub StepSpaceSize()
Dim aRange As Range
Dim k As Long
Dim F As Single
Set aRange = Selection.Range
Do While MsgBox("Reduce all spaces in selection by 0.5 points", vbOKCancel) = vbOK
k = 1
Do
If aRange.Characters(k) = " " Then
F = aRange.Characters(k).Font.Size
aRange.Characters(k).Font.Size = F - 0.5
End If
k = k + 1
Loop Until k > Len(aRange.Text)
aRange.Select
Loop
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 © 2025 Sharon Parq Associates, Inc.
Comments