Excel like a finance pro.
VBA · Ranges
Assigning values without copying
Setting one range's Value from another is faster than Copy and Paste.
When to use it
Setting one range's Value from another copies the values without the clipboard. It is faster, does not disturb the user's clipboard, and needs no CutCopyMode reset.
The code
- Code
Range("D1:E10").Value = Range("A1:B10").Value
Worked examples
Copy values
Range("D1:E10").Value = Range("A1:B10").Value → Values copied in one statement
Same shape required.
Across sheets
Worksheets("Out").Range("A1:C100").Value = Worksheets("In").Range("A1:C100").Value → Across sheets
No activation needed.
Freeze formulas
Range("A1:A100").Value = Range("A1:A100").Value → Formulas replaced by their values in place
Freeze formulas.
Worth knowing
- Sizes must match; use Resize on the target.
- Formats are not copied; use PasteSpecial for those.
- Use Value2 for a small extra speedup.
Where it goes wrong
- Mismatched sizes copy only the overlap or repeat the first cell.
- Formulas are lost, which is the point but sometimes not wanted.
Related
Learn the moves here — or let Wauvel run them on your numbers.
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.