Excel like a finance pro.
← The libraryPractice · 2 questions →
VBA · Ranges
Offset
A range a number of rows and columns away from another.
CommonDifficulty 1100 · Proficient
When to use it
Offset returns a range a number of rows and columns away from another, the same size. Negative values go up and left.
The code
- Code
ActiveCell.Offset(1, 0).Select ' one row down
Worked examples
One row down
ActiveCell.Offset(1, 0).Select → One row down
Recorded relative macros use this.
Neighbor column
rng.Offset(0, 1).Value = rng.Value * 2 → Writes into the column to the right of a range
Parallel columns.
Append position
Range("A1").Offset(lastRow, 0) → The first blank row below the data
Append position.
Worth knowing
- Offset keeps the size; Resize changes it.
- Combine: Range("A1").Offset(1).Resize(n, 3).
- Cells(r, c) is often clearer than Offset math.
Where it goes wrong
- Offsetting above row 1 or left of column A errors.
- Offset(1) with one argument shifts rows, not columns.
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.