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.
Dive Deep into Macros! Make Excel do things you thought were impossible, discover techniques you won't find anywhere else, and create powerful automated reports. Bill Jelen and Tracy Syrstad help you instantly visualize information to make it actionable. You’ll find step-by-step instructions, real-world case studies, and 50 workbooks packed with examples and solutions. Check out Microsoft Excel 2019 VBA and Macros today!
The macro programming language used in Excel gives you a great many tools that allow you to modify the way that Excel ...
Discover MoreYou may want your macro to clear the clipboard so that people cannot access anything left in the clipboard. That is ...
Discover MoreWhen writing a macro, you may want to fill a range of cells with different values. The easiest way to do this is to use ...
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