Selecting Cells using Excel VBA Macros - Absolute
Part one of a four-part series of blogs

This blog gives the various possible ways to select cells, ranges, columns and rows using Visual Basic for Applications in Excel. Useful for the VBA newbie, but even gurus might find one or two commands they'd missed!

  1. Selecting Cells in Excel Visual Basic Macros (Absolute) (this blog)
  2. Absolute Selection - the Common Excel VBA Commands
  3. Selecting Rows, Columns and Entire Worksheets
  4. Less Common Absolute Selection Commands

This blog is part of our Excel macros online tutorial series.  For real-world training, book onto our introductory or advanced VBA or Excel courses.

Posted by Andy Brown on 11 August 2011

You need a minimum screen resolution of about 700 pixels width to see our blogs. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.

Selecting Cells in Excel Visual Basic Macros (Absolute)

Finding myself with a bit of spare time, I thought I'd summarise the various ways to select cells using VBA within Excel.

I've also blogged on how to select cells relative to your starting point.

This entire blog works for Excel versions 2010, 2007, 2003 and older versions.  You can try any of the examples contained it by downloading this Excel workbook.

Absolute vs. Relative Selection

If you're wondering at this stage what I mean by absolute and relative selection, here's an example:

Relative Visual Studio absolute selection

Suppose you have the orange cell selected (Pooh Bear). You want to select Tigger. If you write a macro to:


I've divided the blog up into:

  1. Basic selection commands.
  2. Commands to select rows, columns and the entire worksheet.
  3. Unusual commands (intersections of ranges, and the like).



This blog has 1 thread Add post
14 Nov 18 at 13:15

Something rather puzzling has occured to my worksheet and I'm not to sure why that is the case.

If I set a range to a worksheet, I expected that refering to a cell that is NOT in the range would result in an error but it hasn't.

For example, if I had the values 10 through to 80 in the cells A1 through to D2 and I write:

Dim rng As Range

Set rng = Range("A1:D1")

Debug.Print rng(3)

this returns the value 30, as expected.

However, if I typed:

Debug.Print rng (5)

I get the value of 50!

But I though rng(5) was OUTSIDE of my range, so surely it should return an error?