Excel VBATutorial          

             

Excel VBA Macros

Email to excel-vba.com

Excel Tutorial on Macros

 Excel Consulting

Excel Macros (VBA)
For beginners, intermediate and advanced users

VBA is the programming language used within Excel to develop macros
It stands for Visual Basic for Applications


The Code  Window in the Visual Basic Editor of Excel

All the action happens in the Code Window. In this large window you or the Macro Recorder will write macros. You will also test and fine tune all your macros in the Code Window.

Developing Macros in the VBE

In this lesson you will learn  how to  create a new VBA procedure. You will organize sets of sentences to tell Excel what to do. You can key them  in or copy/paste them from recorded macros, from one of your old macros or from the Internet where you will find millions of free macros.

Errors and Solutions

VBA tells you immediately when the code that you have written is wrong.   When the logic is wrong or when the  user gives a wrong answer these errors need to be handled. In this lesson you will learn the necessary vocabulary to deal with errors.

Events in VBA for Excel

Once you have developed your macros you need to trigger them  so that they  start. The trigger is called an event. The most frequently used event is the click on a button. In this lesson you will learn how to add a button to your sheet and how to connect it to your macro. You will also learn how to start a macro by opening a workbook (also called spreadsheet or Excel file), by closing a workbook and even by changing the value of a cell.

Forms (Userforms) in VBA for Excel

You have used message boxes and input boxes to communicate with the user while the macro was  running.  When these tools are no longer sufficient you need to develop useforms.

Help and Assistance to Develop  Macros in Excel

There is plenty of help and assistance available within Excel when you develop macros. As you have discovered in the previous lesson the Macro Recorder is a great teacher and assistant. In this lesson we investigate the two other sources of assistance within the Visual Basic Editor of Excel: the Help Files and the Object Browser.

The Project  Window in the Visual Basic Editor of Excel

The Project Window lists all your open projects with their sheets, modules and forms. In the Project Window you will  add modules and create forms. When you select one of the components its properties will show in the Properties Window and the VBA code that you have created for the selected component will appear in the Code Window.

Properties and VBA Code for Check Boxes, Option Buttons and Frames

The " True/False" controls to be used as a group within a frame

Properties and VBA Code for Combo Boxes

The combo box is the ultimate control. It is a drop-down list and you will learn how to develop sets of combo boxes where the choices offered in the second combo box depend on the choice made in the first one. They are called cascading combo boxes.

Properties and VBA Code for Command Buttons

The command button is the control where most of the code resides and everything happens when you   " CLICK " on it.

Properties and VBA Code for xcel Image Controls

They are the controls to build catalogs and shopping carts.

Properties and VBA Code for Labels

Labels are just labels. You use them to describe functions and to share information with the user.

Properties and VBA Code for List Boxes

You will develop list boxes when you want to allow the user the possibility of multiple choices.

Properties and VBA Code for Spin Buttons

You can test different values increasing them step by step until you find the right one and you do it with a spin button.

Properties and VBA Code for Text Boxes

The user is now talking to you.There are very few  userforms without text boxes. Text boxex having been created to handle text you need to discover how to use them with numbers, percentages, currencies, etc.

Properties and VBA Code for Userforms

In this lesson you will learn how to set the properties of the userform and you will develop code within the two important events that are " On Activate" and " On Close" .

The Properties  Window in the Visual Basic Editor of Excel

The Properties Window shows you the properties of the object that is selected in the Project Window (sheet, module) or the properties of the control (command button, text box, list box, etc...) that is selected on the forms. You will use this window often  when you start developing forms (userforms).

The Recorder in Excel

The Macro Recorder is the best teacher and it will be a great assistant (writing code for you) even when you become an expert at programming in VBA. In this lesson  you will learn about the Macro Recorder and you will try it. You will also run and test the macro that you have recorded.

Security and Protection inExcel

You cannot harm your computer with macros so be bold in experimenting with macros you will learn more and faster. In this lesson you will learn how to protect you code, your sheets and your workbooks.

Testing  Macros in the VBE

When you develop macros in Excel you spend 20% of your time analyzing the project, 15% writing your VBA procedures and 65% testing and fine tuning them. Split your screen, use the F8* key and you can see what your procedure does in Excel step by step. Back up, correct and re-test.

VBA Coding for The Application

The Application is EXCEL itself. Add  15 new VBA words to your vocabulary like Application.Quit, Application.ScreenUpdating = False, Application.CutCopyMode=False and others .

VBA Coding for Cells and Ranges

In this lesson you will improve your VBA vocabulary with 40 some words to work within the worksheet. You will learn how to select a cell or a group of cells and  how to count the rows and columns. You will learn how to change the value of a cell or insert a formula in it. The 5  VBA words that you will use the most moving around the sheets are Range, Select, Offset, Activecell and CurrentRegion. What you can do with these  5 words and tens of other important words is  covered in this lesson.

VBA Coding General Tips

Assembling VBA words into sentences is called coding. Here are interesting tips to make things easier when you start coding.

VBA Coding to work with external data and SQL

When you connect to outside sources of data (large databases, text files, other Excel workbooks,  Access, etc.) the computer    is using SQL (Structured Query Language) a specialized language to work with data. You can use Excel's functionalities to connect and extract data but you can also use directly the SQL language top extract data.  It is the  fastest way to access any external data.

VBA Coding to Filter and Sort Data

Excel offers you the most powerful database tools (sorting, filtering, etc...). With VBA these tools become even more powerful. You will learn how to use them with the data that you extract from large centralized databases (SAP, Oracle, EssBase, Access, etc..),  from accounting and sales programs and  with financial data  that you can download from the Internet.

VBA Coding for Functions

There are Excel functions and VBA functions. Three topics are covered in this lesson. You can use existing Excel functions within  VBA or you can create brand new Excel functions with VBA and  you can use VBA functions.

VBA Coding for Message and Input Boxes

You will  use message boxes or input boxes to communicate with the user. Through these pop-ups  the user can supply bits of data or say " Yes, No, Ok, Cancel" and other short answers during the execution of a macro.

VBA Codint for Statements

They are the KILL, the IF_THEN_ELSE_END IF, the SELECT-CASE, the DO_LOOP, the FOR_NEXT....

VBA Coding for Variables

The variable is the concept that will launch your creativity and allow you to develop real programs in Excel.  It will empower you to develop sophisticated programs and work extremely rapidly with very large sets of data. Before learning about variables you develop macros after you develop programs.

VBA Coding for the Workbooks

Some people call them spreadsheets or Excel files VBA calls them workbooks. Here are other VBA words to add to your vocabulary. You will learn  to work with ThisWorkbook (the workbook in which runs the macro) with many workbooks and even with all the workbooks in a directory.

VBA Coding for the Worksheets

There can be 256 sheets  in a single workbook. In this lesson you will discover  the vocabulary to move from one to the other, to copy/paste from one to the other, to add and delete worksheets and even go from the first to the last sheet of a workbook to do  something on all of them. You will also learn how to copy the sheets into another workbooks or to transform a single sheet into a workbook.

VBA Coding to work with  Windows and  other Microsoft Programs FROM Excel

With VBA for Excel you can develop VBA procedures (macros) to work within Excel while calling  other Microsoft programs like Access, Notepad, Word, Project and even Windows.

Visual Basic Editor (VBE) in Excel

The Visual Basic Editor is the user friendly program that you will use to talk with Excel. In it you can  create your VBA procedures (macros) and userforms. You will then be able to modify and test these components easily step by step in the VBE.


Section 1: Excel Macros Programming
This section is about recording, writing, modifying and testing macros in the Visual Basic Editor. You will also learn about security and discover "events" (an event is what starts the macro).

Section 2: Excel VBA Vocabulary
Developing a macro is communicating with Excel and to do so you need to use a language called Visual Basic for Applications (VBA). In section 2 you will learn all the VBA vocabulary that is essential to work with business data (accounting, sales, production and others).

Section 3: Forms and Controls in VBA for Excel
The userform is a small or large dialog window that you create and allows the user to submit values that will be used by your macros. To these userforms you will add controls (command buttons, text boxes, list boxes and others) and program them.


To organize your discovery of Excel macros, the downloadable Tutorial on Excel Macros is divided in three sections (all 3  sections part of the single download):

Section 1: Excel Macros Programming
This section is about recording, writing, modifying and testing macros in the Visual Basic Editor. You will also learn about security and discover "events" (an event is what starts the macro).

Section 2: Excel VBA Vocabulary
Developing a macro is communicating with Excel and to do so you need to use a language called Visual Basic for Applications (VBA). In section 2 you will learn all the VBA vocabulary that is essential to work with business data (accounting, sales, production and others).

Section 3: Forms and Controls in VBA for Excel
The userform is a small or large dialog window that you create and allows the user to submit values that will be used by your macros. To these userforms you will add controls (command buttons, text boxes, list boxes and others) and program them.


Other Websites on Excel

Excel Functions and Formulas      Excel Databases


Links to Other Resources on VBA