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.
![](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/1-define-cell-address.png)
- Using Cells: When I prefer using row and column index, I use
Cells(1,1).Select
to select the first cell (A1).
![](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/2-if-you-want-to-use-the-cell.png)
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-a-rage-of-cells](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/3-select-a-rage-of-cells.png)
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
![select-non-continues-range](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/4-select-non-continues-range.png)
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
![non-conitunes-cells-range](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/5-non-conitunes-cells-range.png)
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
![select-a-column](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/6-select-a-column.png)
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-a-row](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/7-select-a-row.png)
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:
![select-all-the-cells-of-workbook](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/8-select-all-the-cells-of-workbook.png)
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.
![select-a-name-ranged](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/9-select-a-name-ranged.png)
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
![select-an-excel-table](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/10-select-an-excel-table.png)
Sometimes I need just one column, say “Amount”. Here’s the trick:
Range("Data[Amount]").Select
![select-a-column-instead-of-table](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/11-select-a-column-instead-of-table.png)
And if I’m after the whole shebang, including the header:
Range("Data[[#All],[Amount]]").Select
![select-the-entire-colunm-including-header](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/12-select-the-entire-colunm-including-header.png)
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.
![using-offset-to-select-a-range](https://cdn-amgoo.nitrocdn.com/qJvQlgGQEOwNXyhUqNwiAWOQgCDvoMdJ/assets/images/optimized/rev-4318c60/excelchamps.com/wp-content/uploads/2020/05/13-using-offset-to-select-a-range.png)
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.