- Microsoft Excel Macro Language
- How To Change Excel To English
- What Programming Language Does Microsoft Excel Use
- Personal Uses For Excel
I got a (rough) intro into source code writing and programming language and realized how much more quickly R can perform functions than the complex Excel formulas I had been playing with for years. Data analysis had never looked so shiny and new. Image Credit: pinterest.com. The Debate Between Excel and R for Data Analysis. The computer programming language used in the course is Microsoft Visual Basic, but the concepts presented in this course (such as variables and constants) are found in other programming languages. Visual Basic for Applications (VBA) is an implementation of Microsoft's event-driven programming language Visual Basic 6, which was declared legacy in 2008, and is an associated integrated development environment (IDE). Although pre.NET Visual Basic is no longer supported or updated by Microsoft, the VBA programming language was upgraded in 2010 with the introduction of Visual Basic. VBA (Visual Basic for Applications) is a programming language that empowers you to automate almost every in Excel. With VBA, you can refer to the Excel Objects and use the properties, methods, and events associated with them. For example, you can create a pivot table, inserting a chart, and show a message box to the user using a macro.
Article Index |
---|
Getting started with Excel VBA |
Running the macro |
Excel example |
Chapter 1 of Automating Excel
When working with an Excel spreadsheet becomes repetitive you need a macro to automate the task - and for this you need VBA.
Automating Excel
- Chapter 1 - Getting started with Excel VBA
- Chapter 2 - Getting at the Data
Chapter One
Getting Started
You can do a lot with Excel simply using formulas but there comes a time when you notice that you are doing a standard job involving moving or sorting data and you can't find an easy way of reducing it to a set of formulas. Sometimes it is just easier to write a program to automate the task and Excel has an easy-to-use programming language built into all versions, VBA - Visual Basic for Applications.
VBA is derived from Visual Basic 6 which was the most used programming language in the world until it was phased out when Microsoft introduced .NET and its associated languages.
Today VBA is the last outpost of classic Visual Basic and it is very suited to getting jobs done quickly and easily. What is isn't so good at is building big and sophisticated applications, but as a way of automating Excel and building Excel-based applications it is very good indeed. You will also find VBA within other Office applications and the details of the language hardly differ.
The same is true for different versions of Excel - but what does differ is how you gain access to the facility. Over time VBA has been removed from the main menus and been converted into an option to save beginners from being confused or intimidated by it.
For the screen dumps we are going to use Excel 2010 but the all of the earlier versions of Excel work in much the same way once you get to actually writing a program.
So open a copy of Excel and let's get started.
Step Zero - enabling VBA
It is a long tradition in programming that the first program you write when learning a new language is 'Hello World'.
All this program does is to display the message on the screen for you to see. This may seem trivial but it ensures that you know how to start writing a program and how to run a program without worrying you too much about the difficulties of the actual program.
If you are using Excel 2010 then your first problem is enabling VBA. Because spreadsheets that contain programs can be a security risk VBA is disabled in all spreadsheets by default. For historical reasons VBA programs are also known as 'macros' and you will find that a lot of the menu options and help files refer to macros.
To enable VBA you have to use the File, Options and select Customise the Ribbon . You then have tick the Developer box to allow the Developer icon to appear.
This isn't quite enough because you also have to allow the Excel to run programs included with spreadsheets. To do this you use the File, Options command again but this time select the Trust Center and the Trust Center Settings . Select Macro settings and finally select enable all macros.
You should now be able to see the Developer tab in the ribbon - if not you haven't performed the first of the tasks and if you can't run a VBA program then you haven't successfully configured the Trust center.
Step One
You write a VBA program not in a standard worksheet but in a specially inserted workbook page called a module.To work with a module you have to be in the VBA editor. How you open the VBA editor depends on the version of Excel you are running. Early version tend to use Tools, Macro, Visual Basic Editor. Excel 2010 has a Visual Basic Editor icon in the Developer tab.
Once you actually get to the Visual Basic Editor everything looks the same, no matter what version of Excel you are working with.
To insert a module you use the command Insert,Macro,Module.
Step Two - Entering text
A new module looks like a blank sheet of paper - which is more or less what it is. Each module you create is given a default name - Module1, Module2 and so on - but you can rename it quite easily by typing a new name into the Properties box at the bottom left.
You may also notice that a new toolbar has appeared at the top - it looks like the controls on a VCR. Don't worry about this for the moment; what it does will be explained very soon.
Microsoft Excel Macro Language
The key thing to understand is that a module doesn't behave at all like a spreadsheet. It doesn't have cells and can't work out formulas. It behaves more like a simple word processor.
If you start typing you will find that you can enter lines of text and edit them using copy, cut and paste and the backspace key in the usual way. When you save the workbook the module is saved along with all of the other pages and loaded again. If you wanted to you could just use a module for making notes but if you do you will find that it complains about what you type. This is a word processor that expects you to type VBA commands and if you type anything else it complains that you have made a mistake.