Author: Julitta Korol
Publisher: Mercury Learning
Audience: Intermediate Programmers
Reviewer: Janet Swift
Excel is still a stronghold of VBA programmers and a new book on the subject is always welcome.
It is amazing that VBA is still going strong in Excel and other Microsoft Office Applications. Despite its long threatened replacement by something derived from .NET, VBA does the job very well. It is also the last resting place of the original VB6 technology.
A pocket primer is probably what you need if you already know how to program. This particular book is very compact compared to what you need for a complete beginner's course.
Chapter 1 explains what VBA macros are all about. How to get them running in Excel and using the macro recorder. Then we dive into relative and absolute references which is something you probably should know already. There are lots of small examples and these are includes in a disc bound into the back of the book.
Chapter 2 dives in a bit deeper with an explanation of the code editor and the properties window. This of course leads on to a discussion of objects and what they are. This is all very much a question of just telling you what you need to know rather than dealing with a bigger picture.
Chapter 3 represents a sort of restart for the book. It presents a more logical view of things. Starting from Excel objects, properties and methods it introduces the elements of the language. Most of the chapter is about variables and data types. One of the good things about VBA is that you can avoid worrying about data types by using the Variant type. This might be too detailed for many readers.
From this point on the book follows a fairly classical path through what you need to know about any programming language. Chapter 4 introduces the idea of modularity with functions and procedures. To a beginner this can seem very complicated when you take into account parameters and types. The MsgBox function is used as an example. Chapter 5 deals with making decisions If, and the Select. Again if you are a beginner this is tough going because its so compressed. Chapter 6 brings us to loops - the for loop, while loop and for each. Chapter 7 moves logically to arrays and chapter 8 extends this to collections. The final chapter is about testing and debugging.
Overall this is a handy quick introduction to VBA in Excel. There are lots of small examples and if you like learning by example this is good. The overall approach is a little haphazard and lacks a strong structure. For example it would probably be better to deal with flow of control before functions but this is a matter of opinion. The layout doesn't help make things look simple. What is lacking is an exploration of the Excel object hierarchy which is key to building real applications. This book focuses on the VBA language and makes use of what objects are needed to illustrate a point.
If you are looking for a compact book with lots of simple examples, this might suit your requirements.
To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.