Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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

View products that this article applies to.


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

↑ Back to the top

More information

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.

↑ Back to the top


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.

↑ Back to the top

Keywords: KB259137, kbinfo, kbhowto, kbdtacode

↑ Back to the top

Article Info
Article ID : 259137
Revision : 9
Created on : 1/27/2007
Published on : 1/27/2007
Exists online : False
Views : 39