How to determine whether a selected cell in an Excel worksheet is in a specified defined range by using a Visual Basic macro

Article translations Article translations
Article ID: 259137 - View products that this article applies to.
This article was previously published under Q259137
Expand all | Collapse all


You can use Microsoft Visual Basic for Applications to determine whether the cell that you just selected is in a specified range.


Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. To determine if the cell that you just selected is in a defined range, follow these steps:
  1. Start Microsoft Excel and open your worksheet.
  2. Select the range or ranges of cells that you want to name.
  3. On the Insert menu, point to Name, and then click Define.
  4. Type MyDefinedRange as the name for the range, and then click OK.
  5. Press ALT+F11 to open the Visual Basic Editor, double-click your worksheet in the Project Explorer, and then type or paste the following code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
        If Not Intersect(Target, Range("MyDefinedRange")) Is Nothing Then
            MsgBox Target.Address & " is in MyDefinedRange."
            'include code here.
            MsgBox Target.Address & " is NOT in MyDefinedRange."
            'include code here.
        End If
    End Sub
  6. Quit the Visual Basic Editor and return to your worksheet.
  7. Click anywhere in your worksheet. Note that you receive a message indicating whether you clicked in the specified range.


For more information about naming cell ranges, click Microsoft Excel Help on the Help menu, type name cells in a workbook in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

For more information about the Intersect method, click Microsoft Visual Basic Help on the Help menu, type intersect method example in the Office Assistant or the Answer Wizard, and then click Search to view the topics returned.


Article ID: 259137 - Last Review: January 27, 2007 - Revision: 5.4
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
kbdtacode kbhowto kbinfo KB259137

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from