What is VBA?
VBA stands for Visual Basic for Applications
Basic Info: Visual Basic for Applications is an implementation of Microsoft’s Visual Basic language, an event-driven programming language and associated integrated development environment which is built into most Microsoft Office applications [in our case, Microsoft Excel].
What’s it used for? By embedding the VBA IDE into their applications, developers can build custom solutions using Microsoft Visual Basic. It was also built into Office applications up to version 2004 for Apple’s Mac OS X, other Microsoft applications such as Microsoft MapPoint and Microsoft Visio; as well as being at least partially implemented in some other applications such as AutoCAD, WordPerfect and ArcGIS. It supersedes and expands on the capabilities of earlier application-specific macro programming languages such as Word’s WordBasic, and can be used to control almost all aspects of the host application, including manipulating user interface features, such as menus and toolbars, and working with custom user forms or dialog boxes. VBA can also be used to create import and export filters for various file formats, such as ODF.
Why is it called VBA? As its name suggests, VBA is closely related to Visual Basic, but can normally only run code within a host application rather than as a standalone application. It can, however, be used to control one application from another using OLE Automation. For example, it is used to automatically create a Word report from Excel data, in turn automatically collected by Excel from polled observation sensors.
Why use it? VBA is functionally rich and extremely flexible but it does have some important limitations, including limited support for function pointers which are used as callback functions in the Windows API. It has the ability to use (but not create) (ActiveX/COM) DLLs, and later versions add support for class modules.
You can read more about this on Wikipedia