Keyboard Shortcut for Format Painter in Excel

Master the Excel Format Painter with practical keyboard shortcuts. Learn Windows workflows, Mac considerations, and automation options using VBA and Office Scripts for consistent formatting.

Shortcuts Lib
Shortcuts Lib Team
·5 min read
Quick AnswerSteps

The built-in keyboard shortcut to start the Format Painter in Excel on Windows is Alt+H+F+P. Double-click the button to paint across multiple ranges, and press Esc to exit. Mac users can navigate via the Ribbon or customize a shortcut. This quick answer helps you start formatting faster, keeping the rest of your workbook consistent.

What the Format Painter does and when to use it

The Format Painter is a fast way to duplicate cell formatting—font choices, fill color, borders, alignment, and number formatting—without copying the actual data. It shines when you need visual consistency across a worksheet or workbook after applying a new style to a single cell. While it looks simple, the Format Painter can handle mixed formatting scenarios, making it a favorite for data presentation and reports. If you frequently adjust styles, a systematic approach with the Format Painter reduces repetitive mouse work and minimizes drift in formatting. Below is a practical VBA emulation to copy only formats from a source to a destination range, mirroring the effect of a single-format action.

VBNET
' Simple Format Painter emulation in VBA Sub CopyFormatsOnly() Dim src As Range, dest As Range Set src = Range("A1:B1") Set dest = Range("D1:E1") src.Copy dest.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False End Sub ' Example usage: ' Call CopyFormatsOnly

Windows keyboard shortcut to start Format Painter

Excel exposes a fast path to the Format Painter via the Ribbon shortcuts. On Windows, activate the Format Painter with Alt+H+F+P. This sequence navigates to the Home tab, opens the Clipboard group, and selects Format Painter. After activation, click a source range and then click the target range to apply formatting. If you want to apply to several areas in a row, simply click subsequent targets; press Esc to exit painting mode. This workflow minimizes hand motion and keeps focus on data.

Bash
# Windows: Start Format Painter (keyboard-only path) Alt+H+F+P

Notes: The exact path may vary slightly with Excel versions, but the Alt-based navigation to Home → Clipboard → Format Painter is generally consistent. If you prefer, you can also click the Format Painter button with the mouse for a quick start.

Office Scripts: automate copying formats in Excel on the web

For Excel on the web, Office Scripts provide a robust way to copy formats across ranges without manual clicks. The Script API highlights how to copy formatting from a source range to multiple destinations using the explicit formats copy type. This approach scales across large datasets and ensures consistency across devices. The example below demonstrates copying formats from A1:B1 to D1:E1 and then to a second target range using a loop.

TypeScript
function main(workbook: ExcelScript.Workbook) { let sheet = workbook.getActiveWorksheet(); let source = sheet.getRange("A1:B1"); let targets = [sheet.getRange("D1:E1"), sheet.getRange("G3:H3")]; for (let t of targets) { t.copyFrom(source, ExcelScript.RangeCopyType.formats); } }

VBA macro to implement a reusable Format Painter

If you prefer desktop automation, VBA offers a reliable way to paste formats without altering data. The following macro defines a reusable function that copies formats from a source range to a destination range. You can adapt the source/destination addresses to your workbook structure, and you can loop over an array of destinations to paint many areas in one run.

VBNET
Sub PaintFormatsSmart() Dim src As Range Dim dest As Range Set src = ThisWorkbook.Sheets("Sheet1").Range("A1:B1") Dim destinations As Variant destinations = Array("D1:E1", "G3:H3", "K5:L5") Dim i As Integer For i = LBound(destinations) To UBound(destinations) Set dest = ThisWorkbook.Sheets("Sheet1").Range(destinations(i)) src.Copy dest.PasteSpecial Paste:=xlPasteFormats Next i Application.CutCopyMode = False End Sub

Paste Special: formats-only as a versatile alternative

If you ever need to copy formatting without any values, Paste Special with formats is your friend. It’s useful after bulk data edits when you want to preserve the look and feel while updating content elsewhere. The code snippet shows how to paste only formats from a source cell to a destination range using VBA. This is especially helpful when you’re building a template and applying it to new data.

VBNET
' Paste only formats without values Range("A1").Copy Range("D1").PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False

Tip: You can integrate this into a loop to apply formatting across a full table, once you identify the target ranges.

Real-world workflows: a practical scenario

Consider a reporting worksheet where a header row uses bold font, yellow fills, and a thin border. You want to apply the same header style to multiple sections of the sheet as new data is added. A practical workflow combines the keyboard shortcut, a short VBA macro, and a small Office Script for web users:

  1. Use Alt+H+F+P to start painting formatting in the Desktop Excel workflow. 2) Extend to other header ranges by clicking sequentially or double-clicking to lock the painter for multiple targets. 3) If you’re on the web, run the Office Script to apply the same header format to new sections automatically.

This approach keeps the formatting layer consistent without manual repetition. You can automate with a simple macro that targets each header block or, on the web, a short script that repeats for each newly added section.

Troubleshooting common pitfalls

  • If the destination range reverts after applying formatting, ensure you’re not overwriting values with Paste Special. Use xlPasteFormats only. - If the source formatting looks different than expected in some cells, check for conditional formatting rules that might override the base format. - On a Mac, if the keyboard shortcut feels unavailable, rely on the Ribbon path or set a custom shortcut in Excel preferences. - When using Office Scripts, verify that the script runs in the correct worksheet and that ranges exist; otherwise adjust the addresses. - For large workbooks, consider applying formats in chunks to minimize performance impact.

Steps

Estimated time: 10-15 minutes

  1. 1

    Identify source formats

    Select a cell or range with the formatting you want to copy. Confirm that the source contains the desired font, fill, borders, and number formatting.

    Tip: Choose a representative sample to avoid mixed formats.
  2. 2

    Start painting formatting

    Use Alt+H+F+P (Windows) to activate the Format Painter, or click the button in the Ribbon. The cursor may change to indicate painting mode.

    Tip: You can also click the Format Painter button with the mouse for a quick start.
  3. 3

    Apply to destination

    Click a target range to apply formatting. To apply to multiple ranges, double-click the button to lock, then click each destination.

    Tip: Confirm that only formatting has transferred; values should remain unchanged.
  4. 4

    Finish painting

    If you locked the painter, press Esc to exit. On Mac, you can re-enter formatting from the Ribbon when needed.

    Tip: Keep a mental map of where you applied formats to avoid over-formatting.
  5. 5

    Verify results

    Review the destination cells to ensure formatting matches the source. Reapply if necessary using the same steps.

    Tip: When applying across large sheets, break into logical sections to maintain performance.
Pro Tip: Double-click Format Painter to paint across many ranges without reactivating.
Warning: Avoid copying formats that trigger conflicting conditional formatting rules.
Note: Paste Special can paste only formats if you need selective copying.

Prerequisites

Required

Optional

Keyboard Shortcuts

ActionShortcut
Start Format PainterWindows: begin painting formatting from a source rangeAlt+H+F+P
Lock painter for multiple rangesPaint across multiple destinations; press Esc to endDouble-click the Format Painter button

Questions & Answers

What is the Format Painter in Excel?

The Format Painter copies formatting from one range to another and does not copy the cell contents. It helps maintain visual consistency across a worksheet.

The Format Painter copies formatting, not data, to quickly duplicate styles.

Can I copy formatting to multiple ranges without reactivating?

Yes. Double-click the Format Painter button to lock it and apply formatting to multiple destinations, then press Esc to exit.

Yes, you can paint across many areas by double-clicking, then exit when done.

Is there a keyboard shortcut for Mac Excel?

A built-in single-key shortcut for Mac Excel is not guaranteed; you can navigate with the Ribbon or assign a custom shortcut.

Mac users can use the Ribbon or customize a shortcut.

How do I copy only formatting via VBA?

Use a simple Copy followed by PasteSpecial with xlPasteFormats to transfer formatting without values.

Use VBA to copy formats only with PasteSpecial.

What about Excel on the web?

Office Scripts provide a reliable way to copy formats across ranges in Excel on the web.

Office Scripts can automate formatting in Excel for the web.

Main Points

  • Start painting with Alt+H+F+P (Windows).
  • Double-click to paint across multiple ranges.
  • Use Paste Special for formats-only when needed.
  • Office Scripts automate formatting in Excel on the web.
  • Always verify formatting after applying.

Related Articles