The active cell in excel

Home / VBA / How to use ActiveCell in VBA in Excel

In VBA, the active cell is a property that represents the cell that is active at the moment. When you select a cell or navigate to a cell and that green box covers that cell you can use ACTIVECELL property to refer to that cell in a VBA code. There are properties and methods that come with it.

Use the Active Cell Property

  1. Type the keyword “ActiveCell”.
  2. Type a dot (.) to get the list properties and methods.
  3. Select the property or method that you want to use.
  4. Run the code to perform the activity to the active cell.

Important Points

  • When you use the active cell property VBA refers to the active cell of the active workbook’s active sheet’s, irrespective of how many workbooks are open at the moment.
  • ActiveCell is ultimately a cell that comes with all the properties and methods that a normal cell comes with.

Activate a Cell from the Selected Range

To activate a cell using a VBA code there are two ways that you can use one “Activate” method and “Select” method.

Sub vba_activecell()

'select and entire range
Range("A1:A10").Select

'select the cell A3 from the selected range
Range("A3").Activate

'clears everything from the active cell
ActiveCell.Clear

End Sub

The above code, first of all, selects the range A1:A10 and then activates the cell A3 out of that and in the end, clears everything from the active cell i.e., A3.

Return Value from the Active Cell

The following code returns the value from the active cell using a message box.

MsgBox ActiveCell.Value

Or if you want to get the value from the active cell and paste it into a separate cell.

Range("A1") = ActiveCell.Value

Set Active Cell to a Variable

You can also set the active cell to the variable, just like the following example.

Sub vba_activecell()

'declares the variable as range
Dim myCell As Range

'set active cell to the variable
Set myCell = ActiveCell

'enter value in the active cell
myCell.Value = Done

End Sub

Get Row and Column Number of the ActiveCell

With the active cell there comes a row and column property that you can use to get the row and column number of the active cell.

MsgBox ActiveCell.Row

MsgBox ActiveCell.Column

Get Active Cell’s Address

You can use the address property to get the address of the active cell.

MsgBox ActiveCell.Address

When you run the above code, it shows you a message box with the cell address of the active cell of the active workbook’s active sheet (as I mentioned earlier).

Move from the Active Cell using Offset

With offset property, you can move to a cell which is a several rows and columns away from the active cell.

ActiveCell.Offset(2, 2).Select

Select a Range from the Active Cell

And you can also select a range starting from the active cell.

Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 5)).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 a Range/Cell using VBA in Excel
    • SELECT ALL the Cells in a Worksheet using a VBA Code
    • 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

    A lot of new Excel users often get confused with the terminologies used in Excel.

    One such term that you would often find in many of the Excel tutorials and videos is the Active Cell.

    If you do not know what an active cell in Excel is, I’m going to tell you everything about it in this short tutorial.

    It’s really simple but very useful to know when working with Excel.

    An Excel worksheet is made up of individual cells – the small rectangle box where you enter data.

    When you select one of these cells, that becomes the active cell.

    For example, if I select cell A1 using my mouse or my keyboard, then it would become the active cell in that Excel worksheet.

    Active cell in Excel

    So if I enter any formula or any text, it would be entered in the active cell.

    When you have only selected one single cell in a worksheet, by default that is the active cell.

    But what if you select more than one cell? What if I select a range of cells (say A1:D10)?

    Even if you have a range of cells selected you would still have only one single active cell in that Excel file.

    Note that everything that I cover in this article is applicable for both Excel as well as Google Sheets (and even other similar spreadsheet tools).

    How to Identify the Active Cell in a Selection?

    As I already mentioned, if you select a range of cells (say A1:D10), Despite the fact that you have multiple cells selected, there would still only be one active cell.

    There are two easy ways to quickly identify which cell is the active cell:

    Visual Identifier of Active Cell

    When you select a range of cells, you would notice that one cell has a different color than the rest of the selection.

    For example, below I have selected cells A1:D10, and you can see that while all the other cells are in dark gray color, cell A1 has a lighter shade color.

    Active cell in a range of cells selection

    This is an indication that this cell (which has a different color than the rest of the selection) is the active cell.

    At this point, if you start typing anything, that would be entered in the active cell.

    Active Cell Reference in the Name Box

    Another super quick way to identify which cell is the active cell is by looking at the Name Box (which is on the left of the formula bar).

    The cell reference of the active cell would be visible in the Name Box.

    Active cell address in the name box

    So if you select one single cell, that cell is the active cell and its reference would be shown in the Name Box.

    And in case you select multiple cells, since only one of those cells could be the active cell, you can simply have a look at the name box, and see its cell reference there.

    Shortcut to Change the Active Cell

    While you can use your mouse or your keyboard to quickly move around in the worksheet and change the active cell, in case you want to quickly take your cursor to a far-off cell and make that one the active cell, here’s a cool trick.

    Enter the cell reference (of the cell where you want to quickly go) in the Name Box.

    For example, if I want to quickly go to cell Z100, I would type Z100 in the Name Box and hit Enter, and it would instantly take me there

    Enter cell address in the name box

    Formatting the Active Cell

    When you select one single cell in Excel, it becomes the active cell and you can apply any formatting or changes to that specific cell.

    And when you select a range of cells, although only one cell would be the active cell, any formatting changes that you apply to that selection would be applied to all the cells (and not just the active cell).

    So remember this – when you have a range of cells selected, when you type anything, it would be entered only in the active cell. But if you apply any formatting changes (such as changing the color, border, or cell format), it would be applied to the entire selection.

    Some Advanced Active Cell Tricks

    Now that you have a good understanding of what is an active cell in Excel, let me also show you a couple of simple tricks that are often used by advanced Excel users.

    Enter Formula in All the Selected Cells

    When you select a range of cells, and you enter any text or formula, it has only entered in the active cell.

    But in many cases, you would want that same text or that same formula to be entered in the entire selection.

    For example, below I have a data set where I have Names in column A comma and I want to enter their Departments in column B.

    Dataset for data entry

    So remember this – when you have a range of cells selected, when you type anything, it would be entered only in the active cell. But if you apply any formatting changes (such as changing the color, border, or cell format), it would be applied to the entire selection.

    In this example, I want to enter the same department (say ‘Sales’) in all these cells.

    Instead of doing it 1 by 1, or entering it in one cell and then copy-pasting it in other cells, let me show you a faster way.

    1. Select the cells in which you want to enter the data
    Select the cells in which you want to do data entry1
    1. Enter the data (which would automatically be entered in the active cell)
    Enter the text in the first cell only
    1. Hold the Control key and press the Enter key
    Same data entered in all the cells

    And Voila!!!!

    The same text has been entered for all the cells in the selection.

    Similarly, you can also do the same thing with formulas. enter the formula in the active cell, then hold the Control key and hit the Enter key and the formula would be entered in all the selected cells.

    And a great thing about entering formulas this way is that it would automatically adjust the cell reference.

    A practical example of this would be when you have a dataset with blank cells and you want to fill blank cells with 0 or some text such as NA or a dash. You can select all the blank cells (using the Go To Special technique) and then fill all the blank cells in one go.

    Data Entry in a Specific Sequence

    This is a less-known Excel trick that could be quite useful if you have a data entry job.

    When you select a single cell in Excel, enter the data or formula in that cell, and then hit the enter key, you would automatically be taken to the cell below it.

    And here comes the trick.

    When you select a range of cells, and then you enter any text or formula, it would be entered in the active cell.

    And now when you hit the enter key, you would be taken to the next cell in the selection itself. So if the next cell in this election is below the active cell, you would be taken there, else you would be taken to the next cell in the selection.

    For example, if I select cells A1, B2, C3, and D4 (as shown below), enter some text in the active cell (which is cell A1), and then hit the enter key, I would automatically be taken to cell B2 (and not A2).

    Selecting non contiguous cells in Excel

    Once I enter the data in cell B2 and hit the enter key, I would automatically be taken to cell C3 and so on.

    Using Active Cell Property in VBA

    If you write VBA macro codes, having a good understanding of how the active cell works would be quite useful.

    In Excel VBA programming, you can use the active cell as a point of reference and then write a code around it.

    Let me give you an example.

    Suppose I want to quickly enter the serial numbers from 1 to 10 (starting from the active cell), and also apply some formatting (make the cell color yellow and apply a border to it)

    Below is the VBA code that would do this for me.

    Sub Formatting()
    For i = 1 To 10
        With ActiveCell.Offset(i - 1, 0)
            .Interior.Color = vbYellow
            .Borders.LineStyle = xlContinuous
            .Borders.Weight = xlThin
            .Value = i
        End With
    Next i
    End Sub

    This VBA code works by using the active cell as the anchor and then covering 10 cells below it. in each of these cells, a serial number is entered and the formatting is applied.

    Since this VBA code is dependent on the active cell, whenever I select a cell (thereby making it the active cell) and run this VBA code, it would start from that cell and format the 10 cells below it.

    While this is a very simple example, the existence of the concept of the active cell actually makes programming quite easy in Excel.

    What Happens to the Active Cell When You Activate Some Other Sheet or Workbook?

    As I mentioned, there could only be one active cell. No matter which worksheet/workbook is activated, there would only be one active cell.

    When you move away from the current worksheet and activate another worksheet (say you are in Sheet1 and then you go to Sheet2), your active cell would now be in the currently active worksheet (which would be Sheet2).

    The same happens with Excel workbooks. If you activate another Excel workbook, then your active cell would be in that activated workbook.

    And then if you switch back to your earlier workbook, your active cell would then be in the earlier book.

    I hope now you are all clear about the concept of the active cell and how it can be used in Excel and VBA.

    I hope you found this Excel tutorial useful.

    Other Excel tutorials you may also like:

    • SetFocus in Excel VBA – How to Use it?
    • How to Set the Default Font in Excel (Windows and Mac)
    • How to Press Enter in Excel and Stay in the Same Cell?
    • How to Compare Two Cells in Excel? (Exact/Partial Match)
    • How to Flash an Excel Cell (Easy Step-by-Step Method)
    • Edit Cell in Excel (Keyboard Shortcut)
    • What Does F2 Do in Excel?

    Active Cell in Excel VBA

    The active cell is the currently selected cell in a worksheet. The active cell in VBA can be used as a reference to move to another cell or change the properties of the same active cell or the cell reference provided by the active cell. We can access an active cell in VBA by using the application.property method with the keyword active cell.

    Understanding the concept of range object and cell properties in VBACells are cells of the worksheet, and in VBA, when we refer to cells as a range property, we refer to the same cells. In VBA concepts, cells are also the same, no different from normal excel cells.read more is important to work efficiently with VBA codingVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more. One more concept you need to look into in these concepts is “VBA Active Cell.”

    In Excel, there are millions of cells, and you are unsure which one is an active cell. For example, look at the below image.

    Active cell address

    In the above pic, we have many cells. Finding which one is an active cell is very simple; whichever cell is selected. It is called an “active cell” in VBA.

    Look at the name boxIn Excel, the name box is located on the left side of the window and is used to give a name to a table or a cell. The name is usually the row character followed by the column number, such as cell A1.read more if your active cell is not visible in your window. It will show you the active cell address. For example, in the above image, the active cell address is B3.

    Even when many cells are selected as a range of cells, whatever the first cell is in, the selection becomes the active cell. For example, look at the below image.

    Active cell address range

    Table of contents
    • Active Cell in Excel VBA
      • #1 – Referencing in Excel VBA
      • #2 – Active Cell Address, Value, Row, and Column Number
      • #3 – Parameters of Active Cell in Excel VBA
      • Recommended Articles

    #1 – Referencing in Excel VBA

    In our earlier articles, we have seen how to reference the cellsCell reference in excel is referring the other cells to a cell to use its values or properties. For instance, if we have data in cell A2 and want to use that in cell A1, use =A2 in cell A1, and this will copy the A2 value in A1.read more in VBA. By active cell property, we can refer to the cell.

    For example, if we want to select cell A1 and insert the value “Hello,” we can write it in two ways. Below is the way of selecting the cell and inserting the value using the VBA “RANGE” object

    Code:

    Sub ActiveCell_Example1()
    
        Range("A1").Select
        Range("A1").Value = "Hello"
     
    End Sub

    VBA Active Cell Example 1

    It will first select the cell A1 “Range(“A1″). Select”

    Then, it will insert the value “Hello” in cell A1 Range(“A1”).Value = “Hello”

    Now, we will remove the line Range(“A1”). Value = “Hello” and use the active cell property to insert the value.

    Code:

    Sub ActiveCell_Example1()
    
        Range("A1").Select
        ActiveCell.Value = "Hello"
    
    End Sub

    VBA Active Cell Example 1-1

    Similarly, first, it will select the cell A1 “Range(“A1”). Select.

    But here, we have used ActiveCell.Value = “Hello” instead of Range(“A1”).Value = “Hello”

    We have used the active cell property because the moment we select cell A1 it becomes an active cell. So, we can use the Excel VBA active cell property to insert the value.

    #2 – Active Cell Address, Value, Row, and Column Number

    Let’s show the active cell’s address in the message box to understand it better. Now, look at the below image.

    VBA Active Cell Example 2

    In the above image, the active cell is “B3,” and the value is 55. So, let us write code in VBA to get the active cell’s address.

    Code:

    Sub ActiveCell_Example2()
    
        MsgBox ActiveCell.Address
    
    End Sub

    VBA Active Cell Example 2-1

    Run this code using the F5 key or manually. Then, it will show the active cell’s address in a message box.

    VBA Active Cell Example 2-2

    Output:

    VBA Active Cell Example 2-3

    Similarly, the below code will show the value of the active cell.

    Code:

    Sub ActiveCell_Example2()
    
        MsgBox ActiveCell.Value
    
    End Sub

    VBA Active Cell Example 2-4

    Output:

    VBA Active Cell Example 2-5

    The below code will show the row number of the active cell.

    Code:

    Sub ActiveCell_Example2()
    
      MsgBox ActiveCell.Row
    
    End Sub

    VBA Active Cell Example 2-6

    Output:

    Example 2-7

    The below code will show the column number of the active cell.

    Code:

    Sub ActiveCell_Example2()
    
    MsgBox ActiveCell.Column
    
    End Sub

    Example 2-8

    Output:

    VBA Active Cell Example 2-9

    #3 – Parameters of Active Cell in Excel VBA

    The active cell property has parameters as well. After entering the property, the active cell opens parenthesis to see the parameters.

    VBA Active Cell Formula

    Using this parameter, we can refer to another cell as well.

    For example, ActiveCell (1,1) means whichever cell is active. If you want to move down one row to the bottom, you can use ActiveCell (2,1). Here 2 does not mean moving down two rows but rather just one row down. Similarly, if you want to move one column to the right, then this is the code ActiveCell (2,2)

    Look at the below image.

    VBA Active Cell Example 3

    In the above image, the active cell is A2. To insert value to the active cell, you write this code.

    Code:

    ActiveCell.Value = “Hiiii” or ActiveCell (1,1).Value = “Hiiii”

    VBA Active Cell Example 3-4

    Run this code manually or through the F5 key. It will insert the value “Hiiii” into the cell.

    Example 3-7

    If you want to insert the same value to the below cell, you can use this code.

    Code:

    ActiveCell (2,1).Value = “Hiiii”

    Example 3-5

    It will insert the value to the cell below the active cell.

    Example 3-2

    You can use this code if you want to insert the value to one column right then.

    Code:

    ActiveCell (1,2).Value = “Hiiii”

    Example 3-6

    It will insert “Hiiii” to the next column cell of the active cell.

    Example 3-3

    Like this, we can reference the cells in VBA using the active cell property.

    We hope you have enjoyed it. Thanks for your time with us.

    You can download the VBA Active Cell Excel Template here:- VBA Active Cell Template

    Recommended Articles

    This article has been a guide to VBA Active Cell. Here, we learned the concept of an active cell to find the address of a cell. Also, we learned the parameters of the active cell in Excel VBA along with practical examples and a downloadable template. Below you can find some useful Excel VBA articles: –

    • VBA Selection
    • Excel Edit Cell Shortcut
    • Excel VBA Range Cells
    • Get Cell Value with Excel VBA

    ‘Active Cell’ is an important concept in Excel.

    While you don’t have to care about the active cell when you’re working on the worksheet, it’s an important thing to know when working with VBA in Excel.

    Proper use of the active cell in Excel VBA can help you write better code.

    In this tutorial, I first explained what is an active cell, and then show you some examples of how to use an active cell in VBA in Excel.

    What is an Active Cell in Excel?

    An active cell, as the name suggests, is the currently active cell that will be used when you enter any text or formula in Excel.

    For example, if I select cell B5, then B5 becomes my active cell in the worksheet. Now if I type anything from my keyboard, it would be entered in this cell, because this is the active cell.

    While this may sound obvious, here is something not that obvious – when you select a range of cells, even then you would only have one active cell.

    For example, if I select A1:B10, although I have 20 selected cells, I still have only one single active cell.

    So now, if I start typing any text or formula, it would only be entered in the active cell.

    You can identify the active cell by looking at the difference in color between the active cell in all the other cells in the selection. You would notice that the active cell is of a lighter shade than the other selected cells.

    Active cell is highlighted in a different color

    Another quick way to know which cell is the active cell is by looking at the Name box (the field that is next to the formula bar). The cell reference of the active cell would be shown in the Name Box.

    Active cell address is shown in the name box

    Using Active Cell in VBA in Excel

    Now that I’ve explained what is an active cell in a worksheet in excel, let’s learn how an Active cell can be used in Excel VBA.

    Active Cell Properties and Methods

    In VBA, you can use an active cell in two ways:

    1. To get the information about it (these are called Properties)
    2. To perform some action on it (these are called Methods)

    Here is how you can access all the properties and methods of an active cell in VBA:

    1. Open a Module in Excel VBA editor
    2. Type the phrase ‘ActiveCell’
    3. Enter a dot (.) after the word ActiveCell

    As soon as you do this, you would notice that a set of properties and methods appear as a drop-down (this is called an IntelliSense in Excel VBA).

    In the drop-down that appears, you would see two types of options – the one that has a green icon and the one that has a gray icon (with a hand).

    The one with the grey icons is the Properties, and the one with the green icons is the Methods.

    Some examples of Methods would include Activate, AddComment, Cut, Delete, Clear, etc. As you can notice, these are actions that can be performed on the active cell.

    Some examples of Properties would include Address, Font, HasFormula, Interior.Color. All these are properties of the active cell that gives you information about that active cell.

    For example, you can use this to get the cell address of the active cell or change the interior cell color of the cell.

    Now let’s have a few simple VBA code examples that you can use in your day-to-day work when working with active cell in excel

    Making a Cell the Active Cell

    To make any cell the active cell, you first have to make sure that it is selected.

    If you only have one single cell selected, it by default becomes the active cell.

    Below is the VBA code to make cell B5 the active cell:

    Sub Change_ActiveCell()
    Range("B5").Activate
    End Sub

    In the above VBA code, I have first specified the cell address of the cell that I want to activate (which is B5), and then I use the activate method to make it the active cell.

    When you only want to make one single cell the active cell, you can also use the select method (code below):

    Sub Change_ActiveCell()
    Range("B5").Select
    End Sub

    As I mentioned earlier, you can only have one active cell even if you have a range of cell selected.

    With VBA, you can first select a range of cells, and then make any one of those cells the active cell.

    Below the VBA code that would first select range A1:B10, and then make cell A5 the active cell:

    Sub Select_ActiveCell()
    Range("A1:B10").Select
    Range("A5").Activate
    End Sub

    Clear the Active Cell

    Below is the VBA code that would first make cell A5 the active cell, and then clear its content (cell content as well any formatting applied to the cell).

    Sub Clear_ActiveCell()
    Range("A5").Activate
    ActiveCell.Clear
    End Sub

    Note that I have shown you the above code just to show you how the clear method work with active cell. In VBA, you don’t need to always select or activate the cell to perform any method on it.

    For example, you can also clear the content of cell A5 using the below code:

    Sub Clear_CellB5()
    Range("A5").Clear
    End Sub

    Get the Value from the Active Cell

    Below the VBA code that could show you a message box displaying the value in the active cell:

    Sub Show_ActiveCell_Value()
    MsgBox ActiveCell.Value
    End Sub

    Similarly, you can also use a simple VBA code to show the cell address of the active cell (code below):

    Sub Show_ActiveCell_Address()
    MsgBox ActiveCell.Address
    End Sub

    The above code would show the address in absolute reference (such as $A$5).

    Showing the cell address of the active cell

    Formating the Active Cell (Color, Border)

    Below the VBA code that would make the active cell blue in color and change the font color to white.

    Sub Format_ActiveCell()
    
    'Makes the active cell blue in color
    ActiveCell.Interior.Color = vbBlue
    
    'Changes the cell font color to white
    ActiveCell.Font.Color = vbWhite
    
    End Sub

    Note that I have used the inbuilt color constant (vbBlue and vbWhite). You can also use the RGB constant. For example, instead of vbRed, you can use RGB(255, 0, 0)

    Offsetting From the Active Cell

    VBA in Excel allows you to refer to cells relative to the position of the active cell (this is called offsetting).

    For example, if my active cell is cell A1, I can use the offset property on the active cell and refer to the cell below it by specifying the position of that row corresponding to the active cell.

    Let me show you an example.

    Sub Offset_From_ActiveCell()
    
    'Make cell A1 the Active Cell
    Range("A1").Activate
    
    'Goes One cell Below the Actice Cell and Enters the text Test in it
    ActiveCell.Offset(1, 0).Value = "Test"
    
    End Sub

    The above code first activate cell A1 and makes it the active cell. It then uses the offset property on the active cell, to refer to the cell which is one row below it.

    And in the same line in the code, I have also assigned a value “Test” to that cell which is one row below the active cell.

    Let me show you another example where offsetting from the active cell could be used in a practical scenario.

    Below I have a VBA code that first activates cell A1, and then uses the offset property to cover 10 cells below the active cell and enter numbers from 1 to 10 in cell A1:A10.

    Sub Offset_From_ActiveCell()
    
    'Activates cell A1
    Range("A1").Activate
    
    'Loop to go through 10 cells below the active cell and enter sequential numbers in it
    For i = 1 To 10
        ActiveCell.Offset(i - 1, 0).Value = i
    Next i
    
    End Sub
    

    The above code uses a For Next loop that runs 10 times (and each time the value of the variable ‘i’ increases by 1). And since I am also using ‘i’ in the offset property, it keeps going one cell down with each iteration.

    Get ActiveCell Row or Column Number

    Below the VBA code that will show you the row number of the active cell in message box:

    Sub ActiveCell_RowNumber()
    MsgBox ActiveCell.Row
    End Sub

    And the below code will show you the column number in a message box:

    Sub ActiveCell_ColumnNumber()
    MsgBox ActiveCell.Column
    End Sub

    Assign Active Cell Value to a Variable

    You can also use VBA to assign the active cell to a variable. Once this is done, you can use this variable instead of the active cell in your code.

    And how does this help? Good Question!

    When you assign the active cell to a variable, you can continue to use this variable instead of the active cell. The benefit here is that unlike the active cell (which can change when other sheets or workbooks are activated) your variable would continue to refer to the original active cell it was assigned to.

    So if you are writing a VBA code that cycles through each worksheet and activates these worksheets, while your active cell would change as new sheets are activated, the variable to which you assigned the active cell initially wouldn’t change.

    Below is an example code that defines a variable ‘varcell’ and assigns the active cell to this variable.

    Sub Assign_ActiveCell()
    Dim varcell As Range
    Set varcell = ActiveCell
    MsgBox varcell.Value
    End Sub

    Select a Range of Cells Starting from the Active Cell

    And the final thing I want to show you about using active cell in Excel VBA is to select an entire range of cells starting from the active cell.

    A practical use case of this could be when you want to quickly format a set of cells in every sheet in your workbook.

    Below is the VBA code that would select cells in 10 rows and 10 columns starting from the active cell:

    Sub Select_from_Activecell()
    Range(ActiveCell, ActiveCell.Offset(10, 10)).Select
    End Sub

    When we specify two cell references inside the Range property, VBA refers to the entire range covered between there two references.

    For example, Range(Range(“A1”), Range(“A10”)).Select would select cell A1:A10.

    Similarly, I have used it with active cell, Where the first reference is the active cell itself, and the second reference offsets the active cell by 10 rows and 10 columns.

    I hope this tutorial has been useful for you in understanding how active cell works in Excel VBA.

    Other Excel tutorials you may also find useful:

    • Highlight the Active Row and Column in a Data Range in Excel
    • 24 Useful Excel Macro Examples for VBA Beginners (Ready-to-use)
    • How to Filter Cells with Bold Font Formatting in Excel (An Easy Guide)
    • How to Delete Entire Row in Excel Using VBA
    • Copy and Paste Multiple Cells in Excel (Adjacent & Non-Adjacent)
    • Working with Worksheets using Excel VBA (Explained with Examples)
    • Using Workbook Object in Excel VBA (Open, Close, Save, Set)
    • Excel VBA Events – An Easy (and Complete) Guide
    • How to Edit Cells in Excel? (Shortcuts)

    Свойство ActiveCell объекта Application, применяемое в VBA для возвращения активной ячейки, расположенной на активном листе в окне приложения Excel.

    Свойство ActiveCell объекта Application возвращает объект Range, представляющий активную ячейку на активном листе в активном или указанном окне приложения Excel. Если окно не отображает лист, применение свойства Application.ActiveCell приведет к ошибке.

    Если свойство ActiveCell применяется к активному окну приложения Excel, то идентификатор объекта (Application или ActiveWindow) можно в коде VBA Excel не указывать. Следующие выражения, скопированные с сайта разработчиков, являются эквивалентными:

    ActiveCell

    Application.ActiveCell

    ActiveWindow.ActiveCell

    Application.ActiveWindow.ActiveCell

    Но если нам необходимо возвратить активную ячейку, находящуюся в неактивном окне приложения Excel, тогда без указания идентификатора объекта на обойтись:

    Sub Primer1()

        With Windows(«Книга2.xlsx»)

            .ActiveCell = 325

            MsgBox .ActiveCell.Address

            MsgBox .ActiveCell.Value

        End With

    End Sub

    Программно сделать ячейку активной в VBA Excel можно с помощью методов Activate и Select.

    Различие методов Activate и Select

    Выберем программно диапазон «B2:E6» методом Select и выведем адрес активной ячейки:

    Sub Primer2()

        Range(«B2:E6»).Select

        ActiveCell = ActiveCell.Address

    End Sub

    Результат:

    Как видим, активной стала первая ячейка выбранного диапазона, расположенная слева вверху. Если мы поменяем местами границы диапазона (Range("E6:B2").Select), все равно активной станет та же первая ячейка.

    Теперь сделаем активной ячейку «D4», расположенную внутри выделенного диапазона, с помощью метода Activate:

    Sub Primer3()

        Range(«E6:B2»).Select

        Range(«D4»).Activate

        ActiveCell = ActiveCell.Address

    End Sub

    Результат:

    Как видим, выбранный диапазон не изменился, а активная ячейка переместилась из первой ячейки выделенного диапазона в ячейку «D4».

    И, наконец, выберем ячейку «D4», расположенную внутри выделенного диапазона, с помощью метода Select:

    Sub Primer4()

        Range(«E6:B2»).Select

        Range(«D4»).Select

        ActiveCell = ActiveCell.Address

    End Sub

    Результат:

    Как видим, ранее выбранный диапазон был заменен новым, состоящим из одной ячейки «D4». Такой же результат будет и при активации ячейки, расположенной вне выбранного диапазона, методом Activate:

    Sub Primer5()

        Range(«E6:B2»).Select

        Range(«A3»).Activate

        ActiveCell = ActiveCell.Address

    End Sub

    Аналогично ведут себя методы Activate и Select при работе с выделенной группой рабочих листов.

    Свойство Application.ActiveCell используется для обращения к одной ячейке, являющейся активной, а для работы со всеми ячейками выделенного диапазона используется свойство Application.Selection.


    Понравилась статья? Поделить с друзьями:
  • The accepted meaning of a word
  • The accentual structure of the word
  • The academic word list это
  • The academic word list с переводом
  • The academic word list in context