Written by Allen Wyatt (last updated June 26, 2018)
This tip applies to Word 97, 2000, 2002, and 2003
If you have a document that contains quite a few tables, you may be searching for a way to modify the width of all the tables in the document. For instance, your company standards may require that all tables be the same width, extending from the left to the right margin. If you have forty or more tables in a document, modifying the width of them all, individually, can be very tedious.
The following macro, ResizeAllTables, will quickly do what it says—resize all tables. The widths of the tables are adjusted to fill the available margins.
Sub ResizeAllTables() Dim oTbl As Table For Each oTbl In ActiveDocument.Tables oTbl.AutoFitBehavior wdAutoFitFixed With ActiveDocument.PageSetup oTbl.PreferredWidth = .PageWidth - .LeftMargin - .RightMargin End With Next oTbl End Sub
After the macro is complete, you should still examine each table to make sure that your column widths are appropriate for your data, but the overall width of the tables will be as you expected.
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 (1382) 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: Expanding Width of All Tables.
Learning Made Easy! Quickly teach yourself how to format, publish, and share your content using Word 2013. With Step by Step, you set the pace, building and practicing the skills you need, just when you need them! Check out Microsoft Word 2013 Step by Step today!
Want to know what the reference address is for a particular cell in a table? Word won't tell you, but you can use a macro ...
Discover MoreWhen you get a text file from a program other than Word, tabular information may be formatted with nothing but spaces in ...
Discover MoreDepending on the type of data you have in your table, the SUM(ABOVE) function might return incorrect results. Here's an ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2025-02-02 23:31:16
Andre
I get a "Run-time error '5148': The number must be between 0 and 1584." When I press Debug, it takes me to line 6 "oTbl.PreferredWidth = .PageWidth - .LeftMargin - .RightMargin" where if I mouse over each it says "oTbl.PreferredWidth = 9999999", ".PageWidth = 612", ".LeftMargin = 9999999", and ".RightMargin = 9999999". Any idea how to correct this?
2021-03-15 13:38:40
Charles Ward
Is there a way to set all tables to 7.13?
2020-08-24 03:39:07
HC
Hi great tip thanks, but if i wanted all tables to fit to a certain width, how can i incorporate this into the above macros?
2020-08-18 13:47:46
Lee
Just what I needed! Thanks.
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon 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