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.
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!
In Excel it is easy to count how many times a certain character occurs in a column of cells. In Word, it is a bit ...
Discover MoreGot a table that you use over and over again? One way you can make quick work of such repetition is to save the table in ...
Discover MoreIf you want to have Word highlight rows in a table that contain a certain character, you need to resort to using a macro. ...
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