VBA Named Range

Publication Date :

Blog Author :

Download FREE VBA Named Range Excel Template and Follow Along!
VBA Named Range Excel Template.xlsm

Table Of Contents

arrow

Excel VBA Named Range

When we work with a large amount of data to avoid referring to a particular cell or cell range, we usually create named ranges. It allows us to refer to the required cell range through the named range. In VBA, to create a named range, we have Add Name Function.

We can select a cell or range of cells and name it. Then, after naming the cells, we can refer to those cells by entering those defined names instead of the usual row or column references.

🐍 Build Smarter Python Code with ChatGPT & AI Integration

Want to code faster and smarter? Build Python Programs with ChatGPT — teaches you how to use AI to write, debug, and optimize Python scripts with ease. Learn to automate coding tasks, integrate APIs, and build real-world applications—perfect for beginners, developers, and tech-savvy professionals looking to supercharge their productivity with AI.

Learn More →

How to Create Named Ranges?

It is a walk-in-the-park job to create named ranges. The first thing we need to do is to identify the cells we want to create a name range in excel.

Look at the below image.

VBA Named Range Example 1

To arrive at the profit in the B4 cell, we have applied the formula B2 – B3.

It is a common thing everybody does. But, how about creating the names and applying the formula like "Sales– Cost."

Place a cursor on cell B2 > Go to the Name box and call it "Sales".

VBA Named Range Example 1-1

Place a cursor on the B3 cell and call it Cost.

VBA Named Range Example 1-2

Now, in the "Profit" column, we can refer to these names instead of cell references.

VBA Named Range Example 1-3

It is the basic thing about Named ranges.

Build Python Programs with ChatGPT - Automate Coding & AI Integration
Learn to build real-world Python projects faster using the power of ChatGPT. Automate code generation, debugging, and AI-driven problem solving while mastering core Python skills. Earn a recognized certification and gain hands-on experience that’s perfect for developers, analysts, and anyone exploring the intersection of coding and AI.
Learn More →

How to Create Named Ranges using VBA Code?

Example #1

Have you ever thought of creating a named range using VBA Code?

Then, follow the below steps to create a named range.

Step 1: Define the variable as “Range.”

Code:

Sub NamedRanges_Example()  Dim Rng As Range End SubVBA Named Range Example 2.png

Step 2: Now, set the variable "Rng" to specific cells you wish to name.

Code:

Sub NamedRanges_Example()  Dim Rng As Range  Set Rng = Range("A2:A7") End SubVBA Named Range Example 2-1.png

Step 3: Access the Names property using the "ThisWorkbook" object.

VBA Named Range Example 2-2

We have so many parameters with Names.Add method. Below are the explanations.

: Name is nothing, but what is the range name we would like to give? We specify.

While naming the cell, it should not contain any special characters except the underscore (_) symbol, and it should not contain space characters as well. In addition, it should not start with numerical values.

: This is nothing but what is the range of cells we are referring to.

We think these two parameters are good enough to start the proceedings.

Step 4: In the name, the argument enters the name you wish to give. For example, we have named it "SalesNumbers."

Code:

Sub NamedRanges_Example()  Dim Rng As Range  Set Rng = Range("A2:A7")  ThisWorkbook.Names.Add Name:="SalesNumbers" End SubVBA Named Range Example 2-3

Step 5: In refers to an argument, enter the range of cells we wish to create. For example, in the name of the "Rng" variable, we have already assigned the range of cells as A2 to A7. So, supply the argument as "Rng."

Code:

Sub NamedRanges_Example()  Dim Rng As Range  Set Rng = Range("A2:A7")  ThisWorkbook.Names.Add Name:="SalesNumbers", RefersTo:=Rng End SubVBA Named Range Example 2-4

This code will create a named range for cells from A2 to A7.

Now in the worksheet, we have created some numbers from A2 to A7.

VBA Named Range Example 2-5

In the A8 cell, we want to have the total of the above cell numbers. Then, we will create a SUM of these numbers using the Named range.

Code:

Sub NamedRanges_Example()  Dim Rng As Range  Set Rng = Range("A2:A7")  ThisWorkbook.Names.Add Name:="SalesNumbers", RefersTo:=Rng    Range("A8").Value = WorksheetFunction.Sum(Range("SalesNumbers")) End Subcreate name Example 2-6

Suppose you run this code manually or by pressing the F5 key. Then, we will get the total of a named range in cell A8.

Create Name Example 2-7

These are the basic must-know facts about "Named Ranges."

Example #2

In vba, we can refer to the cells using the RANGE object. Similarly, we can also refer to those cells by using named ranges.

For example, in the above example, we have named the cell B2 as “Sales” and B3 as “Cost.”

By using actual cell references, we refer to those cells like this.

Code:

Sub NamedRanges() Range("B2").Select 'This will select the B2 cell Range("B3").Select 'This will select the B3 cell End SubVBA NR Example 1-4

Since we already created these cells, we can refer to them using those names below.

Code:

Sub NamedRanges() Range("Sales").Select 'This will select cell named as "Sales" i.e. B2 cell Range("Cost").Select 'This will select cell named as "Cost" i.e. B3 cell End SubVBA NR Example 1-5

Like this, using Named ranges, we can use those cells. For example, using these names, we can calculate the profit amount in cell B4. So for this first name, cell B4 is "Profit."

VBA NR Example 1-6

Now in the VBA editor, apply this code.

Code:

Sub NamedRanges_Example1()    Range("Profit").Value = Range("Sales") - Range("Cost") End SubVBA NR Example 1-7

It will calculate the profit amount in the cell named "Profit."

VBA NR Example 1-8

Python GPT