Macro to Determine If a Number Is Even or Odd

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

On This Page


In Microsoft Excel, you can use the IsEven and IsOdd functions, included in the Microsoft Excel Analysis ToolPak, to determine if a number is even or odd.


To use the IsEven and IsOdd functions within a Visual Basic macro in Microsoft Excel, you must first create a reference to the Analysis ToolPak Visual Basic add-in file included with Microsoft Excel. To do this, follow these steps:
  1. Switch to your Visual Basic module.
  2. On the Tools menu, click References.
  3. In the list of Available References, click to select ATPVBAEN.XLA (Microsoft Excel for Windows) or "Analysis ToolPak - VBA" (Microsoft Excel for the Macintosh). Click OK.
If the proper entry does not appear in the list, follow these steps:
  1. Click Browse.
  2. In Microsoft Excel 97 for Windows, use the dialog box to navigate to the Office\Library\Analysis folder. In Microsoft Excel 5.0 or 7.0, navigate to the Excel\Library\Analysis folder. In Microsoft Excel 98 Macintosh Edition, navigate to the 'Microsoft Office 98:Office:Excel Add- ins:Analysis Toolpak' folder. In Microsoft Excel 5.0 for the Macintosh, navigate to the 'Microsoft Excel:Macro Library:Analysis Tools' folder.

    Select the appropriate add-in file as indicated in step 3, in the previous section, and then click OK twice.
You can now use the IsEven and IsOdd functions to determine whether a value is even or odd.


The following Visual Basic example tests the counter variable in a For...Next Loop to determine if the counter value is even or odd.

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.
   Sub EvenOrOdd()

       'Enter loop
       For Counter = 1 To 5

           'Use the IsEven function to determine whether or not the number
           'being tested is even: a return value of False means the number
           'is odd. You could alternatively use the IsOdd function.
           ValueIsEven = IsEven(Counter)

           'If ValueIsEven is true, then...
           If ValueIsEven = True Then

               '...display a message box stating so.
               MsgBox "The value " & Counter & " is even."


               '...display a message box stating that the value is odd.
               MsgBox "The value " & Counter & " is odd."
           End If

       Next Counter
   End Sub


For more information about the IsEven and IsOdd functions, click the Index tab in Microsoft Excel 7.0 Help, type the following text
and then double-click the selected text to go to the "ISEVEN worksheet function" topic.


Article ID: 150374 - Last Review: October 10, 2006 - Revision: 2.3
  • Microsoft Excel 97 Standard Edition
  • Microsoft Excel 95 Standard Edition
  • Microsoft Excel 5.0 Standard Edition
  • Microsoft Excel 98 for Macintosh
kbcode kbdtacode kbprogramming KB150374
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Give Feedback


Contact us for more help

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