Read our blogs, tips and tutorials
Try our exercises or test your skills
Watch our tutorial videos or shorts
Take a self-paced course
Read our recent newsletters
License our courseware
Book expert consultancy
Buy our publications
Get help in using our site
548 attributed reviews in the last 3 years
Refreshingly small course sizes
Outstandingly good courseware
Whizzy online classrooms
Wise Owl trainers only (no freelancers)
Almost no cancellations
We have genuine integrity
We invoice after training
Review 30+ years of Wise Owl
View our top 100 clients
Search our website
We also send out useful tips in a monthly email newsletter ...
Trying to learn to write VBA macros in Excel? Our Andrew Gould has packed most of what he knows about VBA into a single, must-have book:
Over 340 pages of VBA goodness!
Read on to discover why this is the best book you can buy if you're teaching yourself to program in VBA in Excel (you'll also find out how to purchase it).
If you don't care about the details and you just want to purchase a copy you can do so here!
Andrew is uniquely well-placed to write this book. Not only does he have an encyclopaedic knowledge of VBA (memorably, he rewrote the Flappy Bird app entirely in VBA - check out Flappy Owl), but he's also not bad at passing this knowledge on, in the form of classroom training, videos and blogs:
Medium | Notes |
---|---|
Classroom | Andrew has run 176 classroom courses on VBA in the last 10 years, training 705 people in total. |
Videos | Author of nearly 100 separate videos on VBA, all viewable through this site. |
Blogs | Co-author (with me, as it happens) of an entire VBA tutorial (also viewable on this site). |
Wise Owl are uniquely well-placed to offer this book on learning VBA in Excel (and who knows, there may even be others in the future).
Here are the contents of the VBA book:
Chapter | Title | Pages |
---|---|---|
1 | The Visual Basic Editor | 6 |
2 | Writing Simple VBA Code | 14 |
3 | Saving and Opening Files | 6 |
4 | Running VBA Code | 8 |
5 | Basic User Interfaces | 8 |
6 | Workbooks and Worksheets | 10 |
7 | Working With Ranges | 14 |
8 | Colours in VBA | 2 |
9 | Displaying Messages | 6 |
10 | User Inputs | 10 |
11 | Variables and Data Types | 12 |
12 | Constants and Enumerations | 4 |
13 | Working with Data | 10 |
14 | Testing Conditions | 10 |
15 | For Next Loops | 4 |
16 | Conditional Loops | 4 |
17 | How VBA Works | 12 |
18 | For Each Loops | 6 |
19 | Modular Code, Parameters and Functions | 10 |
20 | Recursive Programming | 4 |
21 | Debugging | 10 |
22 | Handling Errors | 12 |
23 | Arrays | 8 |
24 | Events | 14 |
25 | Creating User Forms | 14 |
26 | Running User Forms | 4 |
27 | Adding Code to Forms | 12 |
28 | Advanced Form Controls | 16 |
29 | Controlling Other Applications | 16 |
30 | Shapes | 18 |
31 | Connecting to Databases | 14 |
32 | Files and Folders | 8 |
33 | File Dialog Boxes | 6 |
34 | Class Modules | 12 |
35 | Collections and Dictionaries | 12 |
36 | VBA Quick Reference | 6 |
The book comes with a full table of contents at the beginning and index at the end, and is printed on A4 paper, double-sided.
If you like what you've read so far, you can purchase Introduction to Excel VBA here, or why not visit our VBA training pages?
Lulu is a website which prints books on demand, and ships them anywhere in the world. If you're based in the UK and ordering more than 10 copies, you can also contact us directly about purchasing the book.
Once you've bought the book, you may want to download the sample files that it refers to.
To get the table above, I needed to go through all of the Word chapters stored on the Wise Owl network, getting the page number and chapter title for each. I could have done this manually, but it would have taken ages and I'd have made lots of errors. So instead I wrote a VBA program - and here it is:
Sub ListContents()
'to do with files and folders
Dim fso As New FileSystemObject
Dim fol As Folder
Dim ChapterFile As File
Dim doc As Document
'chapter and page numbering
Dim ChapterNumber As Integer
Dim PageCount As Integer
Dim PageNumber As Integer
'other variables used
Dim TableText As String
Dim ChapterName As String
'initially we have no chapters and no pages
TableText = ""
PageCount = 0
ChapterNumber = 0
'get location of files on Wise Owl drive (part omitted)
Set fol = fso.GetFolder("Q:\...")
'for each file
For Each ChapterFile In fol.Files
'check if it is a Word document
If Right(LCase(ChapterFile.Name), 5) = ".docx" Then
'get the chapter name
ChapterName = Left(ChapterName, InStr(1, ChapterName, ".") - 1)
'open the document and get page number at end
Set doc = Documents.Open(ChapterFile.Path)
Selection.EndKey Unit:=wdStory
PageNumber = Selection.Information(wdActiveEndPageNumber)
'close it back down again
doc.Close savechanges:=False
'add on this chapter number (some HTML omitted from string)
TableText = TableText & _
" HTML here " & ChapterNumber & " HTML here " & _
ChapterName & " HTML here " & PageNumber & _
" HTML here " & vbCrLf
'increase page count
PageCount = PageCount + PageNumber
End If
Next ChapterFile
'finished - show result in immediate window
Debug.Print TableText
End Sub
I've only included this to show what's possible. The code above won't run on its own, and is not meant in any way to be part of a tutorial, but it does show one reason why VBA is useful to learn!
From: | RicardoJMD |
When: | 23 Feb 24 at 00:13 |
Is there a digital or ebook version? It would be very useful to avoid high shipping costs.
Thank you in advance for your attention.
From: | Andrew G |
When: | 23 Feb 24 at 07:58 |
Hi Ricardo!
I'm sorry, we don't have any plans for a digital version of the VBA book at the moment.
From: | LyLy1219 |
When: | 18 Mar 21 at 23:10 |
Ok I just got thoroughly over-excited when I saw that you have a book! I retain things better when reading and without that soothing voice, hopefully it will be easier to stay awake! (For anyone reading this, I have narcolepsy, it's NOT that Andrew's videos are at all boring.) The only thing is it's from 2017. Is there perhaps an updated version coming out or maybe a smaller companion guide that outlines the newer things? I don't have a natural ability for computer stuff so if your picture doesn't look exactly like my screen, I can easily get lost. (I'm only exaggerating a little, unfortunately.)
~Lizzie
From: | Andrew G |
When: | 19 Mar 21 at 05:37 |
Hi Lizzie, thanks for the clarification regarding using the videos as a sleeping aid!
We don't have any immediate plans for an updated edition of the book but the good news is that VBA has barely changed since 2017. In fact, the last major upgrade to VBA happened back in 2010!
If you're still worried that it might not be the book for you but you wanted some free written material, you might be interested in our self-paced VBA tutorial which you can see here. Each lesson has a video, a written transcript of the video (along with screenshots) and follow-up exercises for you to practise. It's a little more step-by-step than the book which is more of a VBA reference.
I hope that helps!
From: | Tamer.Aziz |
When: | 17 Jul 18 at 12:36 |
I would like to thank you Andrew for writting this book. It is very smooth, simple, and takes you through the topics in a very comprehensice way.
I am personally recommending this book along with all the related Video sessions you did in VBA for Excel.
Also, i would to emphasize that the quality of the material given in the book and the videos are very appreciated.
Keep it up.. And I kindly request you to provide us more video if possible, about Python, R Code.
Once again.. thank you so much..
Regards,
Tamer Aziz
From: | emre |
When: | 19 Jun 19 at 09:49 |
Hello Tamer
I'm Emre from Turkey. What is your email address? I want to ask specific question.
Please let me know.
Thanks,
Emre
From: | Andy B |
When: | 19 Jun 19 at 19:05 |
Hi Tamer/Emer
I wouldn't encourage sharing an email address online, but if you both click on the CONTACT button at the top of this email and send your email addresses through, we'll be glad to put you in contact with each other!
Andy (Brown)
From: | Andrew G |
When: | 18 Jul 18 at 06:47 |
Hi Tamer,
I'm happy to hear that you've found the book useful. Many thanks for your kind comments and taking the time to post them here.
I'm afraid that I can't promise that there will be Python or R video series, although in the future, who knows?
Thank you again for your feedback, it's much appreciated.
From: | alogan |
When: | 27 Sep 17 at 01:12 |
My Introduction to Excel VBA has Arrived:
Andrew Gould: This one is for you!
Andrew, I know you have heard this before. However, it is worth repeating. You are the best. Everything I have learned about Excel VBA, I have learned from your videos. I watched your videos on Youtube for the past six months, and I have learned so much about Excel VBA is that time. About a week and a half ago I was trying to figure out how to get your courseware from all the way in Maryland, USA. Then I saw the Introduction to Excel VBA, and I had to have it.
Andrew, thank you again for all you do. Please let me know when the Advanced VBA book is ready for purchase. I can't wait.
Kind Regards
Logan A.
From: | Andrew G |
When: | 27 Sep 17 at 07:46 |
Hi Logan, many thanks for purchasing the book! I hope that you're enjoying it and finding it useful.
At the moment I'm not sure whether there will be an Advanced VBA book - this Introduction to Excel VBA book includes chapters on every topic that we cover on both our Introduction and Advanced VBA training courses. There are certainly more advanced things we could write about VBA but I think we'll wait to see how well this one sells first!
Thanks again and happy reading!
Kingsmoor House
Railway Street
GLOSSOP
SK13 2AA
Landmark Offices
99 Bishopsgate
LONDON
EC2M 3XD
Holiday Inn
25 Aytoun Street
MANCHESTER
M1 3AE
© Wise Owl Business Solutions Ltd 2024. All Rights Reserved.