Written by Allen Wyatt (last updated January 28, 2023)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, 2021, and Excel in Microsoft 365
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, 2021, and Excel in Microsoft 365. You can find a version of this tip for the older menu interface of Excel here: Understanding the If ... End If Structure.
Program Successfully in Excel! This guide will provide you with all the information you need to automate any task in Excel and save time and effort. Learn how to extend Excel's functionality with VBA to create solutions not possible with the standard features. Includes latest information for Excel 2024 and Microsoft 365. Check out Mastering Excel VBA Programming today!
Your macros can easily open and manipulate other Excel workbooks. If a workbook you are trying to use is already in use ...
Discover MoreNeed to rename a file in a macro? It's easy to do using the Name command, as discussed in this tip.
Discover MoreNeed to know how many characters there are in a workbook? You can find out easily with the handy macro introduced in this ...
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