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.
Best-Selling VBA Tutorial for Beginners Take your Excel knowledge to the next level. With a little background in VBA programming, you can go well beyond basic spreadsheets and functions. Use macros to reduce errors, save time, and integrate with other Microsoft applications. Fully updated for the latest version of Office 365. Check out Microsoft 365 Excel VBA Programming For Dummies today!
When you enter information into a workbook, Excel automatically recalculates every worksheet in every open workbook on ...
Discover MoreThe VBA programming language provided with Excel allows you to create and modify text files quite easily. Here's how to ...
Discover MoreNeed to put together a bunch of characters to create a text string? You can do it in your macros by using the String ...
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