Some days ago, I have received the book Excel VBA 24-Hour Trainer for a review, upon a request from my site. After all, as far as it has all started with VBA for me, I am always interested in the latest trends on the subject. The book is a second edition, so I thought it would be useful to read it.
And I was not mistaken. The book is great! 🙂
First of all, it is not just a book – it is more like a whole package, learning you step by step to write useful code. The videos from the book are available online without any registration here.
These are must-see resources! (Available at the wrox site, just make a quick search there). The videos are really valuable, due to the following 2 reasons – they are free and not boring! Indeed, the guy behind the camera is obviously having fun and enjoying what he is doing. Check it out by yourself, as I mentioned they are free 🙂 Furthermore, after spending some time with them you can decide for yourself whether or not this is what you need!
The book consists of 33 lessons in 5 parts. Each lesson (without the starting 2-3) ends with a to-do task and the solution of this task is explained in the video. Furthermore, additional 15 advanced video lessons are available online, with their code. The advanced videos are really fun (as fun as coding in Excel can go) and a must see – e.g. the guy introduces cell blinking in video #5 and asks you to double think whether this is really needed. Anyhow, he comes with useful examples. Later in video #6 he tells a story of a picture, while putting it in a comment in Excel. Indeed, the videos are worthy!
Let’s start with the review of the book:
The first two parts are quite normal and well-written. I liked the unique way of introducing the OOP in lesson 5. At first I thought that it was pretty early and it may be scary for a beginner, but when I read the lesson, it was OK.
In the first two parts, one can see the ability of the author to produce interesting information even for people with experience in VBA (like myself)! I saw that there is a difference of 100 years between “10/10/29” and “10/10/30” :), or that one may refer to ranges of cells this way – “Cells(2,”E”).Value” (so far I only knew the other 2 ways of referring). I still remember how I was counting the alphabet for the column letter index some 2 years ago 🙂
Later, in part 3 one learns all the features a programmer should know to make use of VBA. I, personally liked the idea of comparing data in multiple cells together. E.g., imagine that you want to find a duplicate row in a given table. The algorithm in the book is to write a macro (or a sub, call it as you wish), which unites the data from the row into one cell and then checks whether there is similar data in the column. Clear and simple! 🙂 Check the screenshot:
With part 4 the real power of VBA is revealed – User Forms and controls are well explained, the OOP is introduced and furthermore, it is explained why OOP is really a must for a VBA programmer. The case was that, if you need to write a functions and properties for 5 or 6 objects, you may easily maintain it by yourself, but when it comes to 100 it is not that easy. And when you want to make the number of objects a variable, then you cannot go without OOP. And classes. Thus, you have to learn them 🙂
The last part looks into interactions with other office applications. I liked that the author has explained late and early binding quite simply. If you are still wondering what is what, then with 2 words – late binding does not need to know the version of the application (e.g. Office 12 or 11 or 14), while early binding needs to know it and thus can make problems if the user changes versions. Early binding is faster.
Tiny minus: Let’s be a little negative, too much sugar on this review would probably not look credible! (but the book really deserves all the sugar from my keyboard and even more for going one step further with the videos and the way of presentation from the author) 🙂 Thus, there is a point for improvement – the provided code is not indented anywhere. Neither in the book, in the video or in the online files. It would be great, if you could spare 4-5 hours and fix the code in the online files. There are enough good tools to automate it and it looks better.
Pretty much that is it – last words – go for the book, if you are working with Excel, it will help you! Simple & understandable language, showing you the magic of VBA!