Excel VBA – Information, Tutorials, Examples & Resources
Excel VBA allows you to automate various activities you do in Excel. We use Excel to analyze data, create reports, prepare charts & presentations, do calculations and understand information. When we are doing all these, we spend quite some time, repeating same steps.
For example, we may prepare and email same type of report every week with different data.
By using Excel VBA, we can cut down the time we spend repeating these steps and improve our productivity.
In this section of our site, you will find information, tutorials, examples, tips & resources on Excel VBA & Macros.
|In this page||More on Excel VBA|
What is VBA?
VBA stands for Visual Basic for Applications. Just like you and I have a language, computer programs too have their own language. VBA happens to be the language in which Excel speaks. For that matter, VBA is also the language of MS Word, PowerPoint, Access and other MS Office applications.
The prospect of learning new languages scares us a lot. But worry not, VBA is much easier to learn than French, Spanish, German or Chinese. The main reason why VBA is easy to learn is because it almost looks like plain English.
For example the following line says hello to you:
What is a Macro?
While VBA is the language which Excel speaks (and understands), Macro is like a paragraph. In other words, a Macro is a set of instructions given to Excel to accomplish something.
For example, this is a macro for generating a report (written in plain English, not VBA)
- Open data.xls
- Take last 30 days of data
- Prepare a bar chart
- Copy the chart to a new workbook
- Save the workbook as a PDF
- Email it to boss
Basics of VBA & Macros – Writing our First Macro
In this section, lets build our first macro. We will write a MakeMeRed() macro, that paints red color in any selected cell(s). Like this,
Enabling Developer Ribbon in Excel
In order to record and use macros (and other developer features), the first step is to activate Developer Ribbon (or Developer Toolbar). This is done by,
1. Click on Office button (top left)
2. Go to Excel Options
3. Go to Popular
4. Check “Show Developer Tab in Ribbon” (3rd Check box)
5. Click ok.
Using Excel’s Built-in Macro Recorder
In order to write your first VBA program (or Macro), you need to know the language first. This is where Excel’s tape recorder will help us.
Yes. Excel has a built-in tape recorder, that listens and records everything you do, in Excel’s own language, ie VBA.
Since we don’t know any VBA, we will use this recorder to record our actions and then we will see recorded instructions (called as code in computer lingo) to understand how VBA looks like.
Step 1: Select any cell & start macro recorder
This is the easiest part. Just select any cell and go to Developer Ribbon & click on Record Macro button.
Step 2: Give a name to your Macro
Specify a name for your macro. I called mine MakeMeRed. You can choose whatever you want. Just make sure there are no spaces or special characters in the name (except underscore)
Click OK when done.
Step 3: Fill the current cell with red color
This is easy as eating pie. Just go to Home ribbon and fill red color in the current cell.
Step 4: Stop Recording
Now that you have done the only step in our macro, its time to stop Excel’s tape recorder. Go to Developer ribbon and hit “stop recording” button.
Step 5: Assign your Macro to a button
Now go to Insert ribbon and draw a nice rectangle. Then, put some text like “click me to fill red” in it.
Then right click on the rectangle shape and go to Assign Macro. And select the MakeMeRed macro from the list shown. Click ok.
Step 6: Go ahead and play with your first macro
That is all. Now, we have linked the rectangle shape to your macro. Whenever you click it, Excel would drop a bucket of red paint in the selected cell(s).
Download This Excel VBA Example
Play with the code & understand this better.
Understand this Excel VBA Macro Better
Please visit our go thru these pages for more on Excel VBA,
- What is VBA & Writing your First VBA Macro in Excel
- Understanding Variables, Conditions & Loops in VBA
- Using Cells, Ranges & Other Objects in your Macros
- Putting it all together – Your First VBA Application using Excel
- My Top 10 Tips for Mastering VBA & Excel Macros
Important Shortcuts for Excel VBA
Please remember these shortcuts & use them to be productive while using Excel VBA.
- ALT+F11: To view VBA Editor (or to switch back to Excel)
- ALT+F8: To display all macros
These shortcuts will work only in VBA Editor (also known as VBE):
- ALT+Q: To close VBA Editor and return to Excel
- F5: To run a Macro
- F2: Display Object Browser
- F7: Display code editor
- CTRL+G: Open immediate window
- F1: Display help
More on Excel VBA
Please go thru these pages for more on Excel VBA
- Excel VBA Examples
- Video Tutorials on Excel VBA, Macros
- Excel VBA Tips
- User Forms & Controls in VBA
- Books on Excel VBA
- References on Excel VBA
- Training on Excel VBA
- Join our Excel Newsletter