Key Notes
- I prefer using Range(“A1”) to select a single cell.
- For multiple cells, Range(“A1”) comes in handy.
- Cells(2, 1).Select is an alternate method I use for selection.
Select a Single Cell
When I need to pinpoint a specific cell in Excel using VBA, here’s how I do it:
- Using Range: I simply write
Range("A1").Select
. This activates cell A1 directly.

- Using Cells: When I prefer using row and column index, I use
Cells(1,1).Select
to select the first cell (A1).

Either method gets me to the exact cell I want to make active.
Select a Range of Cells
To grab a bunch of cells at once, I simply tell Excel exactly what I want. Like this:
Range("A1:A10").Select
And poof, I’ve got cells A1 through A10 highlighted and ready for action.

Select Non-Continues Range
In VBA for Excel, when I want to select ranges or cells that aren’t side by side, I just add a comma between their addresses. Take this snippet for example:
Range("A1:A10, C5:C10").Select

That piece of code helps me grab A1 through A10 and also C5 through C10 in one go. It’s a breeze. And for picking out individual cells that are doing their own thing:
Range("A1, A5, A9").Select

Just list ’em out, separated by commas, and I’m all set.
Select a Column
To grab an entire column A in Excel using VBA, I write:
Range("A:A").Select

For selecting several columns at once:
-
Adjacent columns (A to C):
Range("A:C").Select
-
Non-adjacent columns (A and C):
Range("A:A, C:C").Select
Select a Row
To highlight row five, I use Range("5:5").Select
. Selecting the first and last rows, or any combo, is just as brisk:
- First Row:
Range("1:1").Select
- Last Row:
Range("1048576:1048576").Select
- Multiple Rows:
Range("1:5").Select

Select All the Cells of a Worksheet
I often use Ctrl+A to select everything on my sheet, but in VBA, I just write:
ActiveSheet.Cells.Select
Check out this process in action:

By doing this, I’m telling VBA to grab every single cell in my active worksheet. Simple, right?
Select Cells with Data Only
Sub SelectWithData()
' Quickly select cells that are not empty
ActiveSheet.UsedRange.Select
End Sub
Select a Named Range
To quickly activate a named range in my sheet, I use:
Range("my_range").Select
When I run the macro that includes the above line, it selects my named range, making it the active area. Check out how it’s done through this visual guide.

For macro execution, here’s the quick link I follow: run this macro.
Select an Excel Table
When working with Excel tables, selecting them is straightforward. For example, if I’ve named a table “Data”, to select the entire table, this is what I’d put into the code:
ActiveSheet.ListObjects("Data").Range.Select

Sometimes I need just one column, say “Amount”. Here’s the trick:
Range("Data[Amount]").Select

And if I’m after the whole shebang, including the header:
Range("Data[[#All],[Amount]]").Select

This handy tip makes managing data in Excel a breeze for me.
Using OFFSET to Select a Range
Here’s how I handle jumping around spreadsheets:
Range("A1").Offset(5, 4).Select
This little snippet moves me five rows down and four columns right from cell A1. It’s super handy when I need to navigate to a specific spot on the fly.

More on this? Check out What is VBA.
Related Tutorials
If you’re looking to get savvy with Excel VBA, I’ve got a bunch of tutorials that might help you out. Here’s a quick list:
Working with Cells and Ranges
- Master the basics of cells and ranges with Excel VBA Range – Working with Range and Cells.
- If you want to copy ranges or cells to another sheet or workbook, check out VBA Copy Range to Another Sheet + Workbook.
- Get to grips with the Range Offset feature in VBA for dynamic range manipulation.
Modifying Your Sheet
- To modify text appearance, the Excel VBA Font tutorial is super handy.
- Learn how to ClearContents to wipe data without deleting cells.
- Check out how to Insert a Row or Insert Column to seamlessly add data points.
Advanced Techniques
- Discover how to manipulate an entire worksheet using SELECT ALL the Cells in a worksheet with VBA.
- Up your skills by learning to Merge Cells using a VBA Code.
- Sort like a boss with VBA Sort Range for organizing your data any way you fancy.
This bunch of resources is like having a Swiss Army knife for VBA—each one is useful for different tasks in Excel. Dive into these when you’ve got specific tasks or want to beef up your VBA chops.