Excel select a range of cells vba excel

In this Article

  • Select a Single Cell Using VBA
  • Select a Range of Cells Using VBA
  • Select a Range of Non-Contiguous Cells Using VBA
  • Select All the Cells in a Worksheet
  • Select a Row
  • Select a Column
  • Select the Last Non-Blank Cell in a Column
  • Select the Last Non-Blank Cell in a Row
  • Select the Current Region in VBA
  • Select a Cell That is Relative To Another Cell
  • Select a Named Range in Excel
  • Selecting a Cell on Another Worksheet
  • Manipulating the Selection Object in VBA
  • Using the With…End With Construct

VBA allows you to select a cell, ranges of cells, or all the cells in the worksheet. You can manipulate the selected cell or range using the Selection Object.

Select a Single Cell Using VBA

You can select a cell in a worksheet using the Select method. The following code will select cell A2 in the ActiveWorksheet:

Range("A2").Select

Or

Cells(2, 1).Select

The result is:

Selecting a Single Cell in VBA

Select a Range of Cells Using VBA

You can select a group of cells in a worksheet using the Select method and the Range object. The following code will select A1:C5:

Range("A1:C5").Select

Select a Range of Non-Contiguous Cells Using VBA

You can select cells or ranges that are not next to each other, by separating the cells or ranges using a comma in VBA. The following code will allow you to select cells A1, C1, and E1:

Range("A1, C1, E1").Select

You can also select sets of non-contiguous ranges in VBA. The following code will select A1:A9 and B11:B18:

Range("A1:A9, B11:B18").Select

Select All the Cells in a Worksheet

You can select all the cells in a worksheet using VBA. The following code will select all the cells in a worksheet.

Cells.Select

Select a Row

You can select a certain row in a worksheet using the Row object and the index number of the row you want to select. The following code will select the first row in your worksheet:

Rows(1).Select

Select a Column

You can select a certain column in a worksheet using the Column object and the index number of the column you want to select. The following code will select column C in your worksheet:

Columns(3).Select

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!

automacro

Learn More

Select the Last Non-Blank Cell in a Column

Let’s say you have data in cells A1, A2, A3 and A4 and you would like to select the last non-blank cell which would be cell A4 in the column. You can use VBA to do this and the Range.End method.

The Range.End Method can take four arguments namely: xlToLeft, xlToRight, xlUp and xlDown.

The following code will select the last non-blank cell which would be A4 in this case, if A1 is the active cell:

Range("A1").End(xlDown).Select

Select the Last Non-Blank Cell in a Row

Let’s say you have data in cells A1, B1, C1, D1, and E1 and you would like to select the last non-blank cell which would be cell E1 in the row. You can use VBA to do this and the Range.End method.

The following code will select the last non-blank cell which would be E1 in this case, if A1 is the active cell:

Range("A1").End(xlToRight).Select

Select the Current Region in VBA

You can use the CurrentRegion Property of the Range Object in order to select a rectangular range of blank and non-blank cells around a specific given input cell. If you have data in cell A1, B1 and C1, the following code would select this region around cell A1:

Range("A1").CurrentRegion.Select

So the range A1:C1 would be selected.

VBA Programming | Code Generator does work for you!

Select a Cell That is Relative To Another Cell

You can use the Offset Property to select a cell that is relative to another cell. The following code shows you how to select cell B2 which is 1 row and 1 column relative to cell A1:

Range("A1").Offset(1, 1).Select

Select a Named Range in Excel

You can select Named Ranges as well. Let’s say you have named cells A1:A4 Fruit. You can use the following code to select this named range:

Range("Fruit").Select

Selecting a Cell on Another Worksheet

In order to select a cell on another worksheet, you first need to activate the sheet using the Worksheets.Activate method. The following code will allow you to select cell A7, on the sheet named Sheet5:

Worksheets("Sheet5").Activate
Range("A1").Select

Manipulating the Selection Object in VBA

Once you have selected a cell or range of cells, you can refer to the Selection Object in order to manipulate these cells. The following code selects the cells A1:C1 and sets the font of these cells to Arial, the font weight to bold, the font style to italics and the fill color to green.

Sub FormatSelection()
Range("A1:C1").Select

Selection.Font.Name = "Arial"
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Interior.Color = vbGreen

End Sub

The result is:

Using the Selection Object

Using the With…End With Construct

We can repeat the above example using the With / End With Statement to refer to the Selection Object only once. This saves typing and usually makes your code easier to read.

Sub UsingWithEndWithSelection()
Range("A1:C1").Select

With Selection
.Font.Name = "Arial"
.Font.Bold = True
.Font.Italic = True
.Interior.Color = vbGreen
End With

End Sub

Key Notes

  • You can use the Range property as well as Cells property to use the Select property to select a range.

Select a Single Cell

To select a single cell, you need to define the cell address using the range, and then you need to use the select property. Let’s say if you want to select cell A1, the code would be:

Range("A1").Select

And if you want to use the CELLS, in that case, the code would be:

Cells(1,1).Select

Select a Range of Cells

To select an entire range, you need to define the address of the range and then use the select property. For example, if you want to select the range A1 to A10, the code would be:

Range("A1:A10").Select

Select Non-Continues Range

To select a non-continuous range, you need to use a comma within the cell or range addresses, and then use the select the property. Let’s say if you want to select the range A1 to A10 and C5 to C10, the code would be:

Range("A1:A10, C5:C10").Select

And if you want to select single cells that are non-continuous, the code would be:

Range("A1, A5, A9").Select

Select a Column

To select a column, let’s say column A, you need to write code like the following:

Range("A:A").Select

And if you want to select multiple columns, in that case, the code would be like the following:

Range("A:C").Select
Range("A:A, C:C").Select

Select a Row

In the same way, if you want to select a row, let’s say row five, the code would be like the following.

Range("5:5").Select

And for multiple rows, the code would be:

Range("1:5").Select
Range("1:1, 3:3").Select

Select All the Cells of a Worksheet

Let’s say you want to select all the cells in the worksheet, just like you use the keyboard shortcut Control +A. You need to use the following code.

ActiveSheet.Cells.Select
Cells.Select

“Cells” refer to all the cells in the worksheet, and then select property selects them.

Select Cells with Data Only

Here “Cells with Data” only mean a section in the worksheet where cells have data and you can use the following code.

ActiveSheet.UsedRange.Select

Select a Named Range

If you have a named range, you can select it by using its name.

Range("my_range").Select

In the above code, you have the “my_range” named range and then the select property, and when you run this macro, it selects the specified range.

Select an Excel Table

If you work with Excel tables, you can also select them using the select property. Let’s say you have a table with the name “Data”, then the code to select that table would be:

If you want to select a column instead of the entire table, then the code would be, like the following:

Range("Data[Amount]").Select

And if you want to select the entire column including the header, then the code you can use:

Range("Data[[#All],[Amount]]").Select

You can also use the OFFSET property to select a cell or a range by navigating from a cell or a range. Let’s suppose you want to select a cell that is four columns right and five rows down from the A1; you can use the following code.

Range("A1").Offset(5, 4).Select

More Tutorials

    • Count Rows using VBA in Excel
    • Excel VBA Font (Color, Size, Type, and Bold)
    • Excel VBA Hide and Unhide a Column or a Row
    • Excel VBA Range – Working with Range and Cells in VBA
    • Apply Borders on a Cell using VBA in Excel
    • Find Last Row, Column, and Cell using VBA in Excel
    • Insert a Row using VBA in Excel
    • Merge Cells in Excel using a VBA Code
    • SELECT ALL the Cells in a Worksheet using a VBA Code
    • ActiveCell in VBA in Excel
    • Special Cells Method in VBA in Excel
    • UsedRange Property in VBA in Excel
    • VBA AutoFit (Rows, Column, or the Entire Worksheet)
    • VBA ClearContents (from a Cell, Range, or Entire Worksheet)
    • VBA Copy Range to Another Sheet + Workbook
    • VBA Enter Value in a Cell (Set, Get and Change)
    • VBA Insert Column (Single and Multiple)
    • VBA Named Range | (Static + from Selection + Dynamic)
    • VBA Range Offset
    • VBA Sort Range | (Descending, Multiple Columns, Sort Orientation
    • VBA Wrap Text (Cell, Range, and Entire Worksheet)
    • VBA Check IF a Cell is Empty + Multiple Cells

    ⇠ Back to What is VBA in Excel

    Helpful Links – Developer Tab – Visual Basic Editor – Run a Macro – Personal Macro Workbook – Excel Macro Recorder – VBA Interview Questions – VBA Codes

    VBA Selecting Range

    Excel VBA Selecting Range

    To select any kind of range in VBA we have a function called SELECT. It doesn’t mean that what type of cells we want to select in the Excel worksheet. But, If we want to use the range of cells or a combination of cells in VBA, then VBA Select is the function that would help us in selecting the range of cells we want. In actual, SELECT is an application in VBA which is used by applying it after we choose the range of cells to be select. Choosing the cells we want to select doesn’t mean that we are actually selecting it. We need to place SELECT after we fix the cells which we want to consider in our range. The good thing about Select is, it does not have any syntax to be followed.

    How to Select a Range of Cells in Excel VBA?

    We will learn how to select a range of cells in Excel by using the VBA Code. For this, follow the below steps:

    You can download this VBA Selecting Range Excel Template here – VBA Selecting Range Excel Template

    Example #1

    To apply the SELECT application using VBA,

    Step 1: Insert a new module inside Visual Basic Editor (VBE). Click on Insert tab > select Module.

    Insert Module

    Step 2: Write the subprocedure of VBA Selecting Range in the same name or in the different names which defines the operation we do.

    Code:

    Sub VBA_Range()
    
    End Sub

    VBA Selecting Range Example 1-2

    Step 3: Now suppose, if we want to select the range of cells from cell A1 to B10 then use RANGE and in inverted quotes put the cells under range.

    Code:

    Sub VBA_Range()
    
    Range("A1:B10")
    
    End Sub

    Range function Example 1-3

    Step 4: Now to select the required application, after a dot and select the application called SELECT as shown below.

    Code:

    Sub VBA_Range()
    
    Range("A1:B10").Select
    
    End Sub

    VBA Selecting Range Example 1-3

    Step 5: Now we will compile the code by pressing function key F8 and to run the code, click on the Play button located below the menu bar. We will see in the current worksheet, cells from A1 to B10 are selected or covered in the highlighted area.

    Cells from A1 to B10 Example 1-4

    Example #2

    There is another way to select any random cell range we want. For this, we will use the same coding pattern that we saw in example-2. For this, follow the below steps:

    Step 1: Write the subprocedure for VBA Selecting Range.

    Code:

    Sub VBA_Range2()
    
    End Sub

    VBA Selecting Range Example 2-1

    Step 2: Now in the Range function, we will put the random cells that we want to select in place of sequential range. Let’s put cell A1, B2 and C3 separated by commas into the brackets.

    Code:

    Sub VBA_Range2()
    
    Range("A1, B2, C3").Select
    
    End Sub

    Range function Example 2-2

    Step 3: Now if the run the code, we will see cell A1, B2 and C3 will now be selected with a highlighted portion as shown below.

    Cell A1, B2 and C3 Example 2-3

    Example #3

    There is one more method to select the Range. Here we will be using define a variable for RANGE function first. For this, follow the below steps:

    Step 1: Write the subprocedure for VBA Selection Range. And in that define a variable for RANGE.

    Code:

    Sub VBA_Range3()
    
    Dim SelectRNG As Range
    
    End Sub

    Define Variable Example 3-1

    Step 2: Then use SET with defined variable and use RANGE function along with the cells which we want to select.

    Code:

    Sub VBA_Range3()
    
    Dim SelectRNG As Range
    Set SelectRNG = Range("A1:B10")
    
    End Sub

    RANGE function Example 3-2

    Step 3: At last, use the SELECT application with a defined variable as shown below.

    Code:

    Sub VBA_Range3()
    
    Dim SelectRNG As Range
    Set SelectRNG = Range("A1:B10")
    SelectRNG.Select
    
    End Sub

    VBA Selecting Range Example 3-3

    Step 4: Now again compile the code if required and run. We will see the range of cells A1 to B10 will get selected with the highlighted region.

    VBA Selecting Range Example 1-4

    Example #4

    There is also another simplest way to select the range. For this, follow the below steps:

    Step 1: For this again open a module and write the subprocedure for VBA Selecting Range. Now we will be using the function call CELLS. CELLS function in VBA allows us to choose the cells we want to select.

    Code:

    Sub VBA_Range4()
    
    End Sub

    VBA Selecting Range Example 4-1

    Step 2: Now put the cell numbers in the vertex of the X and Y positions. If we want to select the cell B3 then X would be 3 and Y would be 2 as shown below.

    Code:

    Sub VBA_Range4()
    
    Cells(
    
    End Sub

    VBA Selecting Range Example 4-2

    Step 3: Now use the SELECT application after the CELLS as shown below.

    Code:

    Sub VBA_Range4()
    
    Cells(3, 2).Select
    
    End Sub

    VBA Selecting Range Example 4-3

    Step 4: Now if we run the code, we will see, the cursor will be now placed to cell B3 as shown below.

    VBA Selecting Range Example 4-4

    Pros of VBA Selecting Range

    • Shown examples have different but easiest ways to select the range.
    • Selecting the range using directly RANGE function with SELECT is the best one-line code.
    • We can select cells as a range in continuously or randomly.

    Things to Remember

    • To have a proper visual of range getting selected, put the cursor away from the range we want to select.
    • If we choose the randomly distributed cells as Range, then some operation becomes limited to it. Such as, we cannot copy or cut the data in such a pattern manually.
    • Processes shown for selecting the range in all the above examples are not limited to these. We can try the combination of all the different examples simultaneously we want.
    • Once coding is done, save the Excel file in Macro Enabled Excel format which would help in retaining and saving the code multiple times.

    Recommended Articles

    This is a guide to the VBA Selecting Range. Here we discuss how to Select a Range of Cells in Excel VBA along with practical examples and downloadable excel template. You can also go through our other suggested articles –

    1. VBA Input
    2. VBA Login
    3. VBA Month
    4. VBA Login

    When working with Excel, most of your time is spent in the worksheet area – dealing with cells and ranges.

    And if you want to automate your work in Excel using VBA, you need to know how to work with cells and ranges using VBA.

    There are a lot of different things you can do with ranges in VBA (such as select, copy, move, edit, etc.).

    So to cover this topic, I will break this tutorial into sections and show you how to work with cells and ranges in Excel VBA using examples.

    Let’s get started.

    All the codes I mention in this tutorial need to be placed in the VB Editor. Go to the ‘Where to Put the VBA Code‘ section to know how it works.

    If you’re interested in learning VBA the easy way, check out my Online Excel VBA Training.

    Selecting a Cell / Range in Excel using VBA

    To work with cells and ranges in Excel using VBA, you don’t need to select it.

    In most of the cases, you are better off not selecting cells or ranges (as we will see).

    Despite that, it’s important you go through this section and understand how it works. This will be crucial in your VBA learning and a lot of concepts covered here will be used throughout this tutorial.

    So let’s start with a very simple example.

    Selecting a Single Cell Using VBA

    If you want to select a single cell in the active sheet (say A1), then you can use the below code:

    Sub SelectCell()
    Range("A1").Select
    End Sub

    The above code has the mandatory ‘Sub’ and ‘End Sub’ part, and a line of code that selects cell A1.

    Range(“A1”) tells VBA the address of the cell that we want to refer to.

    Select is a method of the Range object and selects the cells/range specified in the Range object. The cell references need to be enclosed in double quotes.

    This code would show an error in case a chart sheet is an active sheet. A chart sheet contains charts and is not widely used. Since it doesn’t have cells/ranges in it, the above code can’t select it and would end up showing an error.

    Note that since you want to select the cell in the active sheet, you just need to specify the cell address.

    But if you want to select the cell in another sheet (let’s say Sheet2), you need to first activate Sheet2 and then select the cell in it.

    Sub SelectCell()
    Worksheets("Sheet2").Activate
    Range("A1").Select
    End Sub

    Similarly, you can also activate a workbook, then activate a specific worksheet in it, and then select a cell.

    Sub SelectCell()
    Workbooks("Book2.xlsx").Worksheets("Sheet2").Activate
    Range("A1").Select
    End Sub
    

    Note that when you refer to workbooks, you need to use the full name along with the file extension (.xlsx in the above code). In case the workbook has never been saved, you don’t need to use the file extension.

    Now, these examples are not very useful, but you will see later in this tutorial how we can use the same concepts to copy and paste cells in Excel (using VBA).

    Just as we select a cell, we can also select a range.

    In case of a range, it could be a fixed size range or a variable size range.

    In a fixed size range, you would know how big the range is and you can use the exact size in your VBA code. But with a variable-sized range, you have no idea how big the range is and you need to use a little bit of VBA magic.

    Let’s see how to do this.

    Selecting a Fix Sized Range

    Here is the code that will select the range A1:D20.

    Sub SelectRange()
    Range("A1:D20").Select
    End Sub
    

    Another way of doing this is using the below code:

    Sub SelectRange()
    Range("A1", "D20").Select
    End Sub

    The above code takes the top-left cell address (A1) and the bottom-right cell address (D20) and selects the entire range. This technique becomes useful when you’re working with variably sized ranges (as we will see when the End property is covered later in this tutorial).

    If you want the selection to happen in a different workbook or a different worksheet, then you need to tell VBA the exact names of these objects.

    For example, the below code would select the range A1:D20 in Sheet2 worksheet in the Book2 workbook.

    Sub SelectRange()
    Workbooks("Book2.xlsx").Worksheets("Sheet1").Activate
    Range("A1:D20").Select
    End Sub

    Now, what if you don’t know how many rows are there. What if you want to select all the cells that have a value in it.

    In these cases, you need to use the methods shown in the next section (on selecting variably sized range).

    Selecting a Variably Sized Range

    There are different ways you can select a range of cells. The method you choose would depend on how the data is structured.

    In this section, I will cover some useful techniques that are really useful when you work with ranges in VBA.  

    Select Using CurrentRange Property

    In cases where you don’t know how many rows/columns have the data, you can use the CurrentRange property of the Range object.

    The CurrentRange property covers all the contiguous filled cells in a data range.

    Below is the code that will select the current region that holds cell A1.

    Sub SelectCurrentRegion()
    Range("A1").CurrentRegion.Select
    End Sub

    The above method is good when you have all data as a table without any blank rows/columns in it.

    Cells and Ranges in VBA - currentregion property

    But in case you have blank rows/columns in your data, it will not select the ones after the blank rows/columns. In the image below, the CurrentRegion code selects data till row 10 as row 11 is blank.

    Cells and Ranges in VBA - currentregion property not selecting rows after blank

    In such cases, you may want to use the UsedRange property of the Worksheet Object.

    Select Using UsedRange Property

    UsedRange allows you to refer to any cells that have been changed.

    So the below code would select all the used cells in the active sheet.

    Sub SelectUsedRegion()
    ActiveSheet.UsedRange.Select
    End Sub

    Note that in case you have a far-off cell that has been used, it would be considered by the above code and all the cells till that used cell would be selected.

    Select Using the End Property

    Now, this part is really useful.

    The End property allows you to select the last filled cell. This allows you to mimic the effect of Control Down/Up arrow key or Control Right/Left keys.

    Let’s try and understand this using an example.

    Suppose you have a dataset as shown below and you want to quickly select the last filled cells in column A.

    The problem here is that data can change and you don’t know how many cells are filled. If you have to do this using keyboard, you can select cell A1, and then use Control + Down arrow key, and it will select the last filled cell in the column.

    Now let’s see how to do this using VBA. This technique comes in handy when you want to quickly jump to the last filled cell in a variably-sized column

    Sub GoToLastFilledCell()
    Range("A1").End(xlDown).Select
    End Sub

    The above code would jump to the last filled cell in column A.

    Similarly, you can use the End(xlToRight) to jump to the last filled cell in a row.

    Sub GoToLastFilledCell()
    Range("A1").End(xlToRight).Select
    End Sub

    Now, what if you want to select the entire column instead of jumping to the last filled cell.

    You can do that using the code below:

    Sub SelectFilledCells()
    Range("A1", Range("A1").End(xlDown)).Select
    End Sub

    In the above code, we have used the first and the last reference of the cell that we need to select. No matter how many filled cells are there, the above code will select all.

    Remember the example above where we selected the range A1:D20 by using the following line of code:

    Range(“A1″,”D20”)

    Here A1 was the top-left cell and D20 was the bottom-right cell in the range. We can use the same logic in selecting variably sized ranges. But since we don’t know the exact address of the bottom-right cell, we used the End property to get it.

    In Range(“A1”, Range(“A1”).End(xlDown)), “A1” refers to the first cell and Range(“A1”).End(xlDown) refers to the last cell. Since we have provided both the references, the Select method selects all the cells between these two references.

    Similarly, you can also select an entire data set that has multiple rows and columns.

    The below code would select all the filled rows/columns starting from cell A1.

    Sub SelectFilledCells()
    Range("A1", Range("A1").End(xlDown).End(xlToRight)).Select
    End Sub

    In the above code, we have used Range(“A1”).End(xlDown).End(xlToRight) to get the reference of the bottom-right filled cell of the dataset.

    Difference between Using CurrentRegion and End

    If you’re wondering why use the End property to select the filled range when we have the CurrentRegion property, let me tell you the difference.

    With End property, you can specify the start cell. For example, if you have your data in A1:D20, but the first row are headers, you can use the End property to select the data without the headers (using the code below).

    Sub SelectFilledCells()
    Range("A2", Range("A2").End(xlDown).End(xlToRight)).Select
    End Sub

    But the CurrentRegion would automatically select the entire dataset, including the headers.

    So far in this tutorial, we have seen how to refer to a range of cells using different ways.

    Now let’s see some ways where we can actually use these techniques to get some work done.

    Copy Cells / Ranges Using VBA

    As I mentioned at the beginning of this tutorial, selecting a cell is not necessary to perform actions on it. You will see in this section how to copy cells and ranges without even selecting these.

    Let’s start with a simple example.

    Copying Single Cell

    If you want to copy cell A1 and paste it into cell D1, the below code would do it.

    Sub CopyCell()
    Range("A1").Copy Range("D1")
    End Sub

    Note that the copy method of the range object copies the cell (just like Control +C) and pastes it in the specified destination.

    In the above example code, the destination is specified in the same line where you use the Copy method. If you want to make your code even more readable, you can use the below code:

    Sub CopyCell()
    Range("A1").Copy Destination:=Range("D1")
    End Sub

    The above codes will copy and paste the value as well as formatting/formulas in it.

    As you might have already noticed, the above code copies the cell without selecting it. No matter where you’re on the worksheet, the code will copy cell A1 and paste it on D1.

    Also, note that the above code would overwrite any existing code in cell D2. If you want Excel to let you know if there is already something in cell D1 without overwriting it, you can use the code below.

    Sub CopyCell()
    If Range("D1") <> "" Then
    Response = MsgBox("Do you want to overwrite the existing data", vbYesNo)
    End If
    If Response = vbYes Then
    Range("A1").Copy Range("D1")
    End If
    End Sub

    Copying a Fix Sized Range

    If you want to copy A1:D20 in J1:M20, you can use the below code:

    Sub CopyRange()
    Range("A1:D20").Copy Range("J1")
    End Sub

    In the destination cell, you just need to specify the address of the top-left cell. The code would automatically copy the exact copied range into the destination.

    You can use the same construct to copy data from one sheet to the other.

    The below code would copy A1:D20 from the active sheet to Sheet2.

    Sub CopyRange()
    Range("A1:D20").Copy Worksheets("Sheet2").Range("A1")
    End Sub

    The above copies the data from the active sheet. So make sure the sheet that has the data is the active sheet before running the code. To be safe, you can also specify the worksheet’s name while copying the data.

    Sub CopyRange()
    Worksheets("Sheet1").Range("A1:D20").Copy Worksheets("Sheet2").Range("A1")
    End Sub

    The good thing about the above code is that no matter which sheet is active, it will always copy the data from Sheet1 and paste it in Sheet2.

    You can also copy a named range by using its name instead of the reference.

    For example, if you have a named range called ‘SalesData’, you can use the below code to copy this data to Sheet2.

    Sub CopyRange()
    Range("SalesData").Copy Worksheets("Sheet2").Range("A1")
    End Sub

    If the scope of the named range is the entire workbook, you don’t need to be on the sheet that has the named range to run this code. Since the named range is scoped for the workbook, you can access it from any sheet using this code.

    If you have a table with the name Table1, you can use the below code to copy it to Sheet2.

    Sub CopyTable()
    Range("Table1[#All]").Copy Worksheets("Sheet2").Range("A1")
    End Sub

    You can also copy a range to another Workbook.

    In the following example, I copy the Excel table (Table1), into the Book2 workbook.

    Sub CopyCurrentRegion()
    Range("Table1[#All]").Copy Workbooks("Book2.xlsx").Worksheets("Sheet1").Range("A1")
    End Sub

    This code would work only if the Workbook is already open.

    Copying a Variable Sized Range

    One way to copy variable sized ranges is to convert these into named ranges or Excel Table and the use the codes as shown in the previous section.

    But if you can’t do that, you can use the CurrentRegion or the End property of the range object.

    The below code would copy the current region in the active sheet and paste it in Sheet2.

    Sub CopyCurrentRegion()
    Range("A1").CurrentRegion.Copy Worksheets("Sheet2").Range("A1")
    End Sub

    If you want to copy the first column of your data set till the last filled cell and paste it in Sheet2, you can use the below code:

    Sub CopyCurrentRegion()
    Range("A1", Range("A1").End(xlDown)).Copy Worksheets("Sheet2").Range("A1")
    End Sub

    If you want to copy the rows as well as columns, you can use the below code:

    Sub CopyCurrentRegion()
    Range("A1", Range("A1").End(xlDown).End(xlToRight)).Copy Worksheets("Sheet2").Range("A1")
    End Sub

    Note that all these codes don’t select the cells while getting executed. In general, you will find only a handful of cases where you actually need to select a cell/range before working on it.

    Assigning Ranges to Object Variables

    So far, we have been using the full address of the cells (such as Workbooks(“Book2.xlsx”).Worksheets(“Sheet1”).Range(“A1”)).

    To make your code more manageable, you can assign these ranges to object variables and then use those variables.

    For example, in the below code, I have assigned the source and destination range to object variables and then used these variables to copy data from one range to the other.

    Sub CopyRange()
    Dim SourceRange As Range
    Dim DestinationRange As Range
    Set SourceRange = Worksheets("Sheet1").Range("A1:D20")
    Set DestinationRange = Worksheets("Sheet2").Range("A1")
    SourceRange.Copy DestinationRange
    End Sub

    We start by declaring the variables as Range objects. Then we assign the range to these variables using the Set statement. Once the range has been assigned to the variable, you can simply use the variable.

    Enter Data in the Next Empty Cell (Using Input Box)

    You can use the Input boxes to allow the user to enter the data.

    For example, suppose you have the data set below and you want to enter the sales record, you can use the input box in VBA. Using a code, we can make sure that it fills the data in the next blank row.

    Sub EnterData()
    Dim RefRange As Range
    Set RefRange = Range("A1").End(xlDown).Offset(1, 0)
    Set ProductCategory = RefRange.Offset(0, 1)
    Set Quantity = RefRange.Offset(0, 2)
    Set Amount = RefRange.Offset(0, 3)
    RefRange.Value = RefRange.Offset(-1, 0).Value + 1
    ProductCategory.Value = InputBox("Product Category")
    Quantity.Value = InputBox("Quantity")
    Amount.Value = InputBox("Amount")
    End Sub

    The above code uses the VBA Input box to get the inputs from the user, and then enters the inputs into the specified cells.

    Note that we didn’t use exact cell references. Instead, we have used the End and Offset property to find the last empty cell and fill the data in it.

    This code is far from usable. For example, if you enter a text string when the input box asks for quantity or amount, you will notice that Excel allows it. You can use an If condition to check whether the value is numeric or not and then allow it accordingly.

    Looping Through Cells / Ranges

    So far we can have seen how to select, copy, and enter the data in cells and ranges.

    In this section, we will see how to loop through a set of cells/rows/columns in a range. This could be useful when you want to analyze each cell and perform some action based on it.

    For example, if you want to highlight every third row in the selection, then you need to loop through and check for the row number. Similarly, if you want to highlight all the negative cells by changing the font color to red, you need to loop through and analyze each cell’s value.

    Here is the code that will loop through the rows in the selected cells and highlight alternate rows.

    Sub HighlightAlternateRows()
    Dim Myrange As Range
    Dim Myrow As Range
    Set Myrange = Selection
    For Each Myrow In Myrange.Rows
    If Myrow.Row Mod 2 = 0 Then
    Myrow.Interior.Color = vbCyan
    End If
    Next Myrow
    End Sub

    The above code uses the MOD function to check the row number in the selection. If the row number is even, it gets highlighted in cyan color.

    Here is another example where the code goes through each cell and highlights the cells that have a negative value in it.

    Sub HighlightAlternateRows()
    Dim Myrange As Range
    Dim Mycell As Range
    Set Myrange = Selection
    For Each Mycell In Myrange
    If Mycell < 0 Then
    Mycell.Interior.Color = vbRed
    End If
    Next Mycell
    End Sub

    Note that you can do the same thing using Conditional Formatting (which is dynamic and a better way to do this). This example is only for the purpose of showing you how looping works with cells and ranges in VBA.

    Where to Put the VBA Code

    Wondering where the VBA code goes in your Excel workbook?

    Excel has a VBA backend called the VBA editor. You need to copy and paste the code in the VB Editor module code window.

    Here are the steps to do this:

    1. Go to the Developer tab.vba cells and ranges - Developer Tab in ribbon
    2. Click on the Visual Basic option. This will open the VB editor in the backend.Click on Visual Basic
    3. In the Project Explorer pane in the VB Editor, right-click on any object for the workbook in which you want to insert the code. If you don’t see the Project Explorer, go to the View tab and click on Project Explorer.
    4. Go to Insert and click on Module. This will insert a module object for your workbook.Cells and Ranges in VBA - Module
    5. Copy and paste the code in the module window.Cells and Ranges in VBA - code paste

    You May Also Like the Following Excel Tutorials:

    • Working with Worksheets using VBA.
    • Working with Workbooks using VBA.
    • Creating User-Defined Functions in Excel.
    • For Next Loop in Excel VBA – A Beginner’s Guide with Examples.
    • How to Use Excel VBA InStr Function (with practical EXAMPLES).
    • Excel VBA Msgbox.
    • How to Record a Macro in Excel.
    • How to Run a Macro in Excel.
    • How to Create an Add-in in Excel.
    • Excel Personal Macro Workbook | Save & Use Macros in All Workbooks.
    • Excel VBA Events – An Easy (and Complete) Guide.
    • Excel VBA Error Handling.
    • How to Sort Data in Excel using VBA (A Step-by-Step Guide).
    • 24 Useful Excel Macro Examples for VBA Beginners (Ready-to-use).

    Ranges are a key concept in Excel, and knowing how to work with them is essential for anyone who wants to program or automate their work using Excel VBA. 

    In this tutorial, we’ll take a look at how to work with Excel ranges in VBA. We’ll start by discussing what a Range object is. Then, we’ll look at the different ways of referencing a range. Lastly, we’ll explore various examples of how to work with ranges using VBA code.

    Excel VBA: The Range object

    The Excel VBA Range object is used to represent a range in a worksheet. A range can be a cell, a group of cells, or even all the 17,179,869,184 cells in a sheet.

    When programming with Excel VBA, the Range object is going to be your best friend. That’s because much of your work will focus on manipulating data within sheets. Understanding how to work with the Range object will make it easier for you to perform various actions on cells, such as changing their values, sorting, or doing a copy-paste.

    The following is the Excel object hierarchy:

    Application > Workbook > Worksheet > Range

    You can see that the Excel VBA Range object is a property of the Worksheet object. This means that you can access a range by specifying the name of the sheet and the cell address you want to work with. When you don’t specify a sheet name, by default Excel will look for the range in the active sheet. For example, if Sheet1 is active, then both of these lines will refer to the same cell range:

    Range("A1") 
    Worksheets("Sheet1").Range("A1")

    Let’s have a closer look at how to reference a range in the section below. 

    Figure 05. A SUMIFS VBA code basic example

    Excel VBA Tutorial in 20 Minutes

    Referencing a range of cells in Excel VBA

    Referring to a Range object in Excel VBA can be done in several ways. We’ll discuss the basic syntax and some alternatives that you might want to use, depending on your needs.

    Excel VBA: Syntax for specifying a cell range

    To refer to a range that consists of one cell, for example, cell D5, you can use the syntax below: 

    Range("D5")

    To refer to a range of cells, you have two acceptable syntaxes. For example, A1 through D5 can be specified using any one below:

    Range("A1:D5")
    Range("A1", "D5")

    To refer to a range outside the active sheet, you need to include the worksheet name. Here’s an example:

    Worksheets("Sheet1").Range("A1:D5")

    To refer to an entire row, for example, Row 5:

    Range("5:5")

    To refer to an entire column, for example, Column D:

    Range("D:D")

    Excel VBA also allows you to refer to multiple ranges at once by using a comma to separate each area. For example, see the below syntax used for referring to all ranges shown in the image:

    Range("B2:D8, F4:G5")

    Figure 2.1. Excel VBA referring to multiple ranges

    Tip: Notice that all of the syntaxes above use double quotes to enclose the range address. To make it quicker for you to type, you can use shortcuts that involve using square brackets without quotes, as shown in the table below:

    Syntax Shortcut
    Range("D5") [D5]
    Range("A1:D5") [A1:D5]
    Range("5:5") [5:5]
    Range("B2:D8, F4:G5") [B2:D8, F4:G5]

    Excel VBA: Referencing a named range

    You have probably already used named ranges in your worksheets. They can be found under Name Manager in the Formulas tab.

    To refer to a range named MyRange, use the following code:

    Range("MyRange")

    Remember to enclose the range’s name in double quotes. Otherwise, Excel thinks that you’re referring to a variable. 

    Alternatively, you can also use the shortcut syntax discussed previously. In this case, double quotes aren’t used:

    [MyRange]

    Excel VBA: Referencing a range using the Cells property

    Another way to refer to a range is by using the Cells property. This property takes two arguments: 

    Cells(Row, Column) 

    You must use a numeric value for Row, but you may use either a numeric or string value for Column. Both of these lines refer to cell D5: 

    Cells(5, "D") 
    Cells(5, 4) 

    The advantage of using the Cells property to refer to ranges becomes clear when you need to loop through rows or columns. You can create a more readable piece of code by using variables as the Cells arguments in a looping. 

    Excel VBA: Referencing a range using the Offset property

    The Offset property provides another handy means for referring to ranges. It allows you to refer to a cell based on the location of another cell, such as the active cell. 

    Like the Cells property, the Offset property has two parameters. The first determines how many rows to offset, while the second represents the number of columns to offset. Here is the syntax:

    Range.Offset(RowOffset, ColumnOffset)

    For example, the following code refers to cell D5 from cell A1:

    Range("A1").Offset(4,3)

    Figure 2.4. Excel VBA An example of referencing a range using the Offset property

    The negative numbers refer to cells that are above or below the range of values. For example, a -2 row offset refers to two rows above the range, and a -1 column offset refers to a column to the left of the range. The following example refers to cell A1:

    Range("D3").Offset(-2, -3)

    If you need to go over only a row or a column, but not both, you don’t have to enter both the row and the column parameters. You can also use 0 as one or both of the arguments. For example, the following lines refer to D5:

    Range("D5").Offset(0, 0)
    Range("D2").Offset(3, 0)
    Range("G5").Offset(, -3)

    Let’s take a look at some of the most common range examples. These examples will show you how to use VBA to select and manipulate ranges in your worksheets. Some of these examples are complete procedures, while others are code snippets that you can just copy-paste to your own Sub to try.

    Excel VBA: Select a range of cells

    To select a range of cells, use the Select method. 

    The following line selects a range from A1 to D5 in the active worksheet:

    Range("A1:D5").Select

    To select a range from A1 to the active cell, use the following line: 

    Range("A1", ActiveCell).Select

    The following code selects from the active cell to 3 rows below the active cell and five columns to the right: 

    Range(ActiveCell, ActiveCell.Offset(3, 5)).Select

    It’s important to note that when you need to select a range on a specific worksheet, you need to ensure that the correct worksheet is active. Otherwise, an error will occur. For example, you want to select B2 to J5 on Sheet1. The following code will generate an error if Sheet1 is not active:

    Worksheets("Sheet1").Range("B2:J5").Select

    Instead, use these two lines of code to make your code work as expected:

    Worksheets("Sheet1").Activate 
    Range("B2:J5").Select

    Excel VBA: Set values to a range

    The following statement sets a value of 100 into cell C7 of the active worksheet:

    Range("C7").Value = 100

    The Value property allows you to represent the value of any cell in a worksheet. It’s a read/write property, so you can use it for both reading and changing values.

    You can also set values of a range of any size. The following statement enters the text “Hello” into each cell in the range A1:C7 in Sheet2:

    Worksheets("Sheet2").Range("A1:C7").Value = "Hello"

    Value is the default property for a Range object. This means that if you don’t provide any properties in your range, Excel will use this Value property. 

    Both of the following lines enter a value of 100 into cell C7 of the active worksheet: 

    Range("C7").Value = 100
    Range("C7") = 100

    Excel VBA: Copy range to another sheet

    To copy and paste a range in Excel VBA, you use the Copy and Paste methods. The Copy method copies a range, and the Paste method pastes it into a worksheet. It might look a bit complicated but let’s see what each does with an example below. 

    Let’s say you have Orders data, as shown in the below screenshot, which is imported from Airtable every day using Coupler.io. This tool allows users to do it automatically on the schedule they want with just a few clicks and no coding required. 

    Coupler.io data integration tool

    In addition, they can combine data from other different sources (such as Jira, Mailchimp, etc.) into one destination for analysis purposes.

    Figure 3.3. Excel VBA Copy range example

    As you can see, the data starts from B2. You want to copy only range B2:C11 and paste them to Sheet2 at the same address. The following is an example Sub you can use:

    Sub CopyRangeToAnotherSheet()
        Sheets("Sheet1").Activate
        Range("B2:C11").Select
        Selection.Copy
        
        Sheets("Sheet2").Activate
        Range("B2").Select
        ActiveSheet.Paste
    End Sub

    Alternatively, you can also use a single line of code as shown below:

    Sub CopyRangeToAnotherSheet2()
        Worksheets("Sheet1").Range("B2:C11").Copy Worksheets("Sheet2").Range("B2")
    End Sub

    The above Sub procedure takes advantage of the fact that the Copy method can use an argument that corresponds to the destination range for the copy operation. Notice that actually, you don’t have to select a range before doing something with it.

    Excel VBA: Dynamic range example

    In many cases, you may need to copy a range of cells but don’t know exactly how many rows and columns it has. For example, if you use Coupler.io or other integration tools to import data from an external app into Excel on a daily schedule, the number of rows may change over time.

    How can you determine this dynamic range? One solution is to use the CurrentRegion property. This property returns an Excel VBA Range object within its boundaries. As long as the data is surrounded by one empty row and one empty column, you can select it with CurrentRegion.

    The following line selects the contiguous range around Cell B2:

    Range("B2").CurrentRegion.Select

    Figure 3.4.1. Excel VBA Dynamic range example 1

    Now, let’s say you want to select only Columns B and C of the range, and from the second row, you can use the following line:

    Range("B2", Range("C2").End(xlDown)).Select

    Figure 3.4.2. Excel VBA Selecting columns in a dynamic range

    You can now do whatever you want with your selected range — copy or move it to another sheet, format it, and so on.

    If you want to find the last row of a used range using Excel VBA, it’s also possible without selecting anything. Here’s the line you can use to find the row number of Column B’s last row data:

    ' Find the row number of Column B's last row data
    RowNumOfLastRow = Cells(Rows.Count, 2).End(xlUp).Row
    
    
    ' Result: 11
    MsgBox RowNumOfLastRow

    Excel VBA: Loop for each cell in a range 

    For looping each cell in a range, the For Each loop is an excellent choice. This type of loop is great for looping through a collection of objects such as cells in a range, worksheets in a workbook, or other collections.

    The following procedure shows how to loop through each cell in Range B2:K11. We use an object variable named Obj, which refers to the cell being processed. Within the loop, the code checks if the cell contains a formula and then sets its color to blue.

    Sub LoopForEachCell()
        Dim obj As Range
        For Each obj In Range("B2:K11")
            If obj.HasFormula Then obj.Font.Color = vbBlue
        Next obj
    End Sub

    Excel VBA: Loop for each row in a range

    When looping through rows (or columns), you can use the Cells property to refer to a range of cells. This makes your code more readable compared to when you’re using the Range syntax. 

    For example, to loop for each row in range B2:K11 and bold all the cells from Column I to K, you might write a loop like this:

    Sub LoopForEachRow()
        For i = 1 To 11
            Range("I" & i & ":K" & i).Font.Bold = True
        Next i
    End Sub

    Instead of typing in a range address, you can use the Cells property to make the loop easier to read and write. For example, the code below uses the Cells and Resize properties to find the required cell based on the active cell:

    Sub LoopForEachRow2()
        For i = 1 To 11
            Cells(i, "I").Resize(, 3).Font.Bold = True
        Next i
    End Sub

    Excel VBA: Clear a range

    There are three ways to clear a range in Excel VBA. 

    The first is to use the Clear method, which will clear the entire range, including cell contents and formatting. 

    The second is to use the ClearContents method, which will clear the contents of the range but leave the formatting intact. 

    The third is to use the ClearFormats method, which will clear the formatting of the range but leave the contents intact.

    For example, to clear a range B1 to M15, you can use one of the following lines of code below, based on your needs:

    Range("B1:M15").Clear
    Range("B1:M15").ClearContents
    Range("B1:M15").ClearFormats

    Excel VBA: Delete a range

    When deleting a range, it differs from just clearing a range. That’s because Excel shifts the remaining cells around to fill up your deleted range. 

    The code below deletes Row 5 using the Delete method:

    Range("5:5").Delete

    To delete a range that is not a complete row or column, you have to provide an argument (such as xlToLeft, xlUp — based on your needs) that indicates how Excel should shift the remaining cells.

    For example, the following code deletes cell B2 to M10, then fills the resulting gap by shifting the other cells to the left:

    Range("B2:M10").Delete xlToLeft

    Excel VBA: Delete rows with a specific condition in a range

    You can also use a VBA code to delete rows with a specific condition. For example, let’s try to delete all the rows with a discount of 0 from the below sheet:

    Figure 3.9. Excel VBA example Delete range with a condition

    Here’s an example Sub you may want to use:

    Sub DeleteWithCondition()
        For i = 3 To 11
            If Cells(i, "F").Value = 0 Then
                Cells(i, 1).EntireRow.Delete
            End If
        Next i
    End Sub

    The above code loops from Row 3 to 11. In each loop, it checks the discount value in Column F and removes the entire row if the value equals 0.

    Excel VBA: Find values in a range 

    With the below data, suppose you want to find if there is an order with OrderNumber equal to 1003320 and output its cell address. 

    Figure 3.10. Excel VBA Find a value in a range example

    You can use the Find method in this case, as shown in the below code:

    Sub FindOrder()
        Dim Rng As Range
         
        Set Rng = Range("B3:B11").Find("1003320")
         
        If Rng Is Nothing Then
            MsgBox "The OrderNumber not found."
        Else
            MsgBox Rng.Address
        End If
    
    End Sub

    The output of the above code will be the first occurrence of the search value in the specified range. If the value is not found, a message box showing info that the order is not found will appear.

    Excel VBA: Add alрhаbеtѕ using Rаngе .Offset

    The following is an example of a Sub that adds alphabets A-Z in a range. The code uses Offset to refer to a cell below the active cell in a loop.

    Sub AddAlphabetsAZ()
        Dim i As Integer
        
        ' Use 97 To 122 for lowercase letters
        For i = 65 To 90
            ActiveCell.Value = Chr(i)
            ActiveCell.Offset(1, 0).Select
        Next i
    End Sub

    To use the Sub, ѕеlесt a сеll where you want tо start thе alphabets. Then, run it by pressing F5. The code will insert A-Z to the cells downward. 

    Excel VBA: Add auto-numbers to a range with a variable from user input

    Juѕt lіkе inserting alphabets as shown in the previous example, you саn аlѕо іnѕеrt auto-numbers іn уоur worksheet automatically. This can be helpful when you work with large data.

    The following is an example of a Sub that adds auto-numbers to your Excel sheet:

    Sub AddAutoNumbers()
        Dim i As Integer
        
        On Error GoTo ErrorHandler
        
        i = InputBox("Enter the maximum number: ", "Enter a value")
        
        For i = 1 To i
            ActiveCell.Value = i
            ActiveCell.Offset(1, 0).Select
        Next i
        
    ErrorHandler:
        Exit Sub
    End Sub

    Tо uѕе the соdе, уоu need tо ѕеlесt the сеll frоm where you want tо start thе auto-numbеrѕ. Then, run the Sub. In the message box that appears, enter the maximum value for the auto-numbers and сlісk OK.

    Figure 3.12. Excel VBA set a range using a variable example

    Excel VBA: Sum a range 

    Imagine that you have written a Sub procedure to import Orders.csv into an Excel sheet:

    By the way, you can automate import of CSV to Excel without any coding if you use Coupler.io

    Figure 3.13. Excel VBA Sum a range example

    You want to sum up all the discount values and put the result in J12. The following code that utilizes the Sum worksheet function would handle that: 

    Sub GetTotalDiscount()
        Range("J12") = WorksheetFunction.Sum(Range("J2:J10"))
    End Sub

    Excel VBA: Sort a range 

    The Sort method sorts values in a range based on the criteria you provide.

    Suppose you have the following sheet:

    Figure 3.14. Excel VBA Sort a range example

    To sort the above data based оn thе vаluеѕ іn Column D, you can use the following code:

    Sub SortBySingleColumn()
        Range("A1:E10").Sort Key1:=Range("D1"), Order1:=xlAscending, Header:=xlYes
    End Sub

    You can also sort the range by multiple columns. For example, to sort by Column B and Column D, here’s an example code you can use:

    Sub SortByMultipleColumns()
        Range("A1:E10").Sort _
            Key1:=Range("B1"), Order1:=xlAscending, _
            Key2:=Range("D1"), Order2:=xlAscending, _
            Header:=xlYes
    End Sub

    Here are the arguments used in the above methods:

    • Kеу: It specifies the field you want to use in ѕоrting thе data. 
    • Ordеr: It ѕресіfies whеthеr уоu wаnt tо sort the dаtа іn аѕсеndіng or dеѕсеndіng order. 
    • Header: It spесіfies whеthеr уоur data hаѕ hеаdеrѕ оr nоt.

    Excel VBA: Range to array

    Arrays are powerful because they can actually make the code run faster. Especially when working with large data, you can use arrays to make all the processing happen in memory and then write the data to the sheet once.

    For example, suppose you have the following sheet:

    Figure 3.15.1. Excel VBA Sort range example

    The following Sub uses a variable X, which is a Variant data type, to store the value of Range A2:E10. Variants can hold any type of data, including arrays. 

    Sub RangeToArray()
        Dim X As Variant
        X = Range("A2:E10")
    End Sub

    You can then treat the X variable as though it were an array. The following line returns the value of cell A6:

    MsgBox X(5, 1)
    ' Result: 1003320

    Now, let’s say you want to calculate the total order using the following calculation:

    Quantity * Price - Discount

    Rather than doing calculation and writing the result for each row using a looping, you can store the calculation result in an array OrderTotal as shown in the below code and write the result once:

    Sub CalculateTotalOrder()
        Dim X As Variant, OrderTotal As Variant
        X = Range("A2:E10")
        
        ReDim OrderTotal(UBound(X))
        
        For i = LBound(X) To UBound(X)
            OrderTotal(i - 1) = X(i, 3) * X(i, 4) - X(i, 5)
        Next i
        
        Range("F1") = "OrderTotal"
        
        Range("F2").Resize(UBound(OrderTotal)) = _
            Application.Transpose(OrderTotal)
        
    End Sub

    Here’s the final result:

    Figure 3.15.2. Excel VBA Sort range result

    Subscript out of range: Excel VBA Runtime error 9

    This error message often happens when you try to access a range of cells in a worksheet that has been deleted or renamed.

    Figure 4. Excel VBA Subscript out of range error

    Let’s say your code expected a worksheet named Setting. For some reason, this sheet is renamed Settings. So, the error occurs every time the below Sub runs:

    Sub GetSettings()
        Worksheets("Setting").Select
        x = Range("A1").Value
    End Sub

    To prevent the runtime error happening again, you may want to add an error handler code like this below:

    Sub GetSettings()
        On Error Resume Next
    
        ws = Worksheets("Setting")
        Name = ws.Name
        
        If Not Err.Number = 0 Then
            MsgBox "Expected to find a Setting worksheet, but it is missing."
            Exit Sub
        End If
        On Error GoTo 0
        
        ws.Select
        x = Range("A1").Value
    End Sub

    Excel VBA Range — Final words

    Thank you for reading our Excel VBA Range tutorial. We hope that you’ve found it helpful! And if there’s anything else about Excel programming or other topics that interest you, be sure to check out our other Excel tutorials.

    In addition, you may find that Coupler.io is a valuable tool for you if you’re looking for an easy way to pull and combine your data from multiple sources into one destination for analysis and reporting. This tool also lets you specify the range address of your imported data so you can keep all of your calculations (including. formulas) in the sheets.

    Thanks again for reading, and happy coding!

    • Fitrianingrum Seto

      Senior analyst programmer

    Back to Blog

    Focus on your business

    goals while we take care of your data!

    Try Coupler.io

    Понравилась статья? Поделить с друзьями:
  • Excel search по русски
  • Excel sheet columns to rows
  • Excel sheet columns numbers
  • Excel search using or
  • Excel sheet column numbers