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: Fitting Text Into Cells.
by Allen Wyatt
(last updated November 6, 2015)
You have worked long and hard on your page design, including a couple of tables that are just right. Then, along comes a need to add a bit more text into one of the tables. The result is that the text in a cell wraps and pushes everything else down a bit. Now your whole design is thrown off! You long for a way to automatically adjust the size of the text in a cell so you won't have the wrapping and pushing occur.
If you are using Word 2000, Word 2002, or Word 2003 there is a built-in option that may do the trick. Simply follow these steps:
Figure 1. The Cell tab of the Table Properties dialog box.
Figure 2. The Cell Options dialog box.
What Word does is to decrease the apparent size of the text so that everything fits. Word decreases the width of the text by "scrunching" (a highly technical term) the text together horizontally, without adjusting it vertically.
If you are using Word 97, there is no inherent way to accomplish the task. Word doesn't provide any properties you can check to determine the width of various characters, each of which could be different sizes and have other attributes. You can, however, create a macro that may help you by displaying the width of a text string in points or inches. For instance, the following VBA macro displays an input box so you can input your string, displays the Font dialog box so you can specify font and point size, and then displays the width of the resulting string.
Sub GetStringLength() Dim sngInitPos As Single Dim sngEndPos As Single Dim strText As String Dim sngLength As Single strText = InputBox("Enter the string whose length you want to determine") Documents.Add Dialogs(wdDialogFormatFont).Show sngInitPos = Selection.Information(wdHorizontalPositionRelativeToPage) Selection.InsertAfter strText Selection.EndOf sngEndPos = Selection.Information(wdHorizontalPositionRelativeToPage) sngLength = sngEndPos – sngInitPos MsgBox "Your string has a length of " & sngLength & _ " points, or " & PointsToInches(sngLength) & " inches." ActiveDocument.Close savechanges:=False End Sub
The only difficulty with this macro, of course, is that it isn't "automatic." For instance, it won't adjust the size of a text string to the maximum size possible to fit within a cell. In the long run it may be easier to just experiment with different font sizes for information in the cell until you find the right size for your needs.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (3780) 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: Fitting Text Into Cells.
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!
For those who love to use the mouse during editing, you can use the little critter to help move your tables to exactly where ...Discover More
Insert a manual page break into the middle of a table, and you may find that subsequent pages of the table don't always look ...Discover More
When your table occupies lots of pages, you may want to have information in a particular column repeated on each page. Word ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."