Skip to Content
Writing Excel Macros with VBA, 2nd Edition
book

Writing Excel Macros with VBA, 2nd Edition

by Steven Roman PhD
June 2002
Beginner
570 pages
16h 48m
English
O'Reilly Media, Inc.
Content preview from Writing Excel Macros with VBA, 2nd Edition

Chapter 8. Control Statements

We conclude our discussion of the VBA language with a discussion of the main VBA control statements , which are statements that affect the flow of control (or flow of execution) in a program.

The If...Then Statement

The If...Then statement is used for conditional control. The syntax is:

If Condition Then
   ' statements go here . . .
ElseIf AnotherCondition Then
   ' more statements go here . . .
Else
   ' more statements go here . . .
End If

Note that we may include more than one

ElseIf part and that both the ElseIf part(s) and the Else part are optional. We can also squeeze all parts of this statement onto a single line, which is generally only a good idea when the ElseIf and Else parts are missing. As an example, the following code deletes the current selection in the active worksheet if it contains more than one cell:

If Selection.Count > 1 Then Selection.Delete

The following example changes the color of the current selection based upon its location—selected cells in odd-numbered rows are colored red, those in even-numbered rows are colored blue:

Dim oCell As Range
For Each oCell In Selection.Cells
  If (oCell.Row Mod 2) = 1 Then
    ' odd
    oCell.Interior.ColorIndex = 3   ' red
  Else
    ' even
    oCell.Interior.ColorIndex = 5   ' blue
  End If
Next

The For Loop

The For...Next statement provides a method for repeatedly looping through a block of code (that is, one or more lines of code). This loop is naturally referred to as a For loop. The basic syntax is:

For counter =  ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

VBA and Macros for Microsoft Excel

VBA and Macros for Microsoft Excel

Bill Jelen, Tracy Syrstad
Excel 2016 VBA and Macros

Excel 2016 VBA and Macros

Bill Jelen, Tracy Syrstad

Publisher Resources

ISBN: 0596003595Errata Page