ThisCalculator

Everyday

Word Select All Tables: Quick Ways to Do It

Updated · Standard formula, shown below

Word Select All Tables: Quick Ways to Do It

To select all tables in a Microsoft Word document at once, you cannot do it with a single built-in command; you need to use the Navigation pane or a simple macro. This article explains the fastest methods, including a step-by-step macro approach, and answers common questions about selecting and formatting multiple tables.

Why There Is No One-Click “Select All Tables” Button

Word does not include a direct menu item for selecting every table in a document. The built-in “Select” commands (such as Select All on the Home tab) only work on text or objects within the current selection context, not across the whole document for a specific element type like tables. This is a known limitation that has existed across many Word versions (2010, 2013, 2016, 2019, Microsoft 365).

However, there are two reliable workarounds: using the Navigation pane (which works for finding tables but not selecting them all at once) and using a simple macro that loops through all tables and selects them. The macro method is the only true way to select all tables simultaneously.

Method 1: Using the Navigation Pane (For Finding, Not Selecting)

The Navigation pane can help you locate tables, but it does not allow multi-selection. To use it:

  1. Press Ctrl+F to open the Navigation pane.
  2. Click the small magnifying glass icon and choose Tables from the drop-down (this option appears in newer versions of Word).
  3. You will see a list of all tables in the document. Clicking each one jumps to that table, but you cannot select multiple tables from this list.

This method is useful for navigating between tables, but for bulk selection, you need a macro.

Method 2: Using a Macro to Select All Tables

The most efficient way to select all tables is to run a short VBA macro. Here is how to do it:

  1. Press Alt+F11 to open the Visual Basic for Applications (VBA) editor.
  2. Go to Insert > Module to create a new module.
  3. Copy and paste the following code:
Sub SelectAllTables()
    Dim t As Table
    Dim rng As Range
    Set rng = ActiveDocument.Range(0, 0)
    For Each t In ActiveDocument.Tables
        rng.End = t.Range.End
        rng.Start = rng.End
        rng.End = t.Range.End
        rng.Select
    Next t
End Sub
  1. Close the editor, then press Alt+F8, select SelectAllTables, and click Run.

This macro selects each table one by one, effectively highlighting all tables in sequence. However, note that the final selection will only be the last table. To perform an action on all tables (like formatting), you would need to modify the macro to apply the action directly. For example, to change the border of all tables, you would add a line inside the loop.

How to Apply Formatting to All Tables Without Selecting

Often, the goal is not just to select but to format all tables at once. Instead of selecting, you can use a macro that directly modifies each table. For instance, to set all tables to a specific style:

Sub FormatAllTables()
    Dim t As Table
    For Each t In ActiveDocument.Tables
        t.Style = "Table Grid"
    Next t
End Sub

This applies the “Table Grid” style to every table in the document. You can replace the style name with any built-in or custom style. This approach is more practical than selecting because it avoids the limitation of a single selection range.

Common Problems and Misconceptions

Problem: The macro selects only the last table. As explained, the macro above selects each table in turn, but the final selection is only the last one. To perform an action, you must modify the macro to act on each table individually.
Misconception: Using Ctrl+A selects all tables. It actually selects the entire document content, including text, images, and tables. While you can then apply formatting to the whole document, this also affects text, which may not be desired.
Problem: The Navigation pane does not allow multi-select. This is by design; it is a navigation aid, not a selection tool.

Alternative: Using Find and Replace with Wildcards

Some users try to use Find and Replace to select tables, but this does not work because tables are not text. There is no wildcard that matches a table object. The only reliable method is VBA.

Comparing Methods: Which One Should You Use?

  • Navigation Pane: Best for quickly jumping to tables, not for bulk selection.
  • Macro (Select): Useful if you want to see each table highlighted in sequence, but not for a final multi-selection.
  • Macro (Format): The most practical for applying changes to all tables.
  • Ctrl+A: Selects everything, which may be too broad.

For most users, the best approach is to use a formatting macro that directly applies changes without needing to select. If you only need to copy all tables, you can use a macro that copies each table and pastes them elsewhere, but that is more complex.

Frequently Asked Questions

Can I select all tables without using a macro?

No, there is no built-in command to select all tables at once. The only way to do it without VBA is to manually select each table while holding Ctrl, which is impractical for many tables. The macro method is the recommended solution.

Why does my macro only select the last table?

Because the macro selects each table in sequence, and the final selection is only the last one. To perform an action on all tables, you need to modify the macro to apply the action inside the loop, as shown in the formatting example above.

How do I delete all tables in Word?

You can use a macro similar to the formatting one, but with a deletion command. For example, inside the loop, use t.Delete. This will delete every table in the document. Be careful, as this cannot be undone with a single undo; you may need to close without saving if you make a mistake.

Can I select all tables in a specific section?

Yes, you can modify the macro to loop through tables in a specific range. For example, use ActiveDocument.Sections(1).Range.Tables to target only the first section. This is useful if you have multiple sections with different formatting requirements.

Does this work in Word for Mac?

Yes, the VBA macro approach works in Word for Mac as well. The steps to open the VBA editor are the same (Alt+F11 or Tools > Macro > Visual Basic Editor). The code is identical.

Conclusion

Selecting all tables in Word is not a native feature, but with a simple VBA macro, you can achieve the desired result. Whether you want to select, format, or delete all tables, the macro approach gives you full control. For most tasks, modifying the macro to directly apply changes is more efficient than selecting. Always test macros on a copy of your document first to avoid unintended changes.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.