Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Understanding the If ... End If Structure.
Written by Allen Wyatt (last updated January 28, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021
Macros in Excel are written in a language called Visual Basic for Applications (VBA). Like any other programming language, VBA includes certain programming structures which are used to control how the program executes. One of these structures is the If ... End If structure. The most common use of this structure has the following syntax:
If condition Then program statements Else program statements End If
When a macro is executing, and this structure is encountered, Excel tests whatever condition you have defined. If the condition is true, then the program statements, the statements right after the Then keyword, are executed. If they are not true, then the statements after the Else keyword are executed. The Else keyword and any following program statements (which together make up an Else clause) are optional; you do not need to include them in your macro.
Regardless of whether the program statements in the If ... End If structure are executed, when Excel is done with the structure, the macro continues running with the statement following the End If keyword.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (12081) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, Excel in Microsoft 365, and 2021. You can find a version of this tip for the older menu interface of Excel here: Understanding the If ... End If Structure.
Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!
Macros often need to select different cells in a worksheet. Here's how you can use macro commands to change which cell is ...
Discover MoreNeed to run a macro at a given interval? It's easy to do when you learn how to use the .OnTime method, described in this tip.
Discover MoreNeed to figure out an absolute value within your macro code? It's easy to do using the Abs function, described in this tip.
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2023-01-28 11:18:32
J. Woolley
@Tomek
Well done.
2023-01-28 08:33:41
Tomek
The If ... End If structure has one more possible element: ElseIf. That element can be repeated as many times as needed.
The full syntax is as follows:
----------------------------------
If condition Then
[ statements ]
[ ElseIf condition-n Then
[ elseifstatements ]]
.
.
[ Else
[ elsestatements ]]
End If
-----------------------
Note that if in that structure several of the conditions (condition or any of condition-n) would evaluate to TRUE, only statements grouped after the first one will be executed, the rest will be ignored.
There is a structure with similar functionality - Select Case. It is a concept a bit harder to grasp, but sometimes easier to code.
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2025 Sharon Parq Associates, Inc.
Comments