Wauvel
← The library

VBA · Ranges

Copy and PasteSpecial

Copies a range and pastes values, formats, or formulas.

Very commonDifficulty 1177 · Proficient
Practice · 2 questions →

When to use it

Copy puts a range on the clipboard and PasteSpecial pastes values, formats, or formulas. Reset CutCopyMode afterwards to drop the marching ants.

The code

Code
Range("A1:B10").Copy
Range("D1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False

Worked examples

  • Paste values

    Range("A1:B10").Copy Range("D1").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False → Values pasted at D1

    The clean pattern.

  • Direct copy

    Range("A1:B10").Copy Destination:=Range("D1") → Copy everything in one line, no clipboard mode

    Simplest full copy.

  • Paste formats

    rng.Copy rng.PasteSpecial xlPasteFormats Application.CutCopyMode = False → Formats only

    Copy styling.

Worth knowing

  • Assign .Value = .Value directly when you only need values; it is faster than the clipboard.
  • PasteSpecial Transpose:=True flips.
  • Copy across workbooks works the same way.

Where it goes wrong

  • Clipboard use fails when another app locks the clipboard.
  • Forgetting CutCopyMode = False leaves the border and can paste later by accident.

Related

Learn the moves here — or let Wauvel run them on your numbers.

$99/mo, everything included. Free for 14 days, no card.

Meet your AI CFO →

One CFO-grade Excel tip a week

A short, practical email for finance operators — functions, shortcuts, and the moves that save an afternoon. Free, unsubscribe anytime.