Background: Microsoft Excel Macros
Microsoft Excel has long given users the ability to automate tasks within the program and to expand the functionality of the program by creating macros. Original Microsoft Excel macros (XLM macros) used a unique programming language to construct routines that would ultimately be stored as Excel macro files (.xlm), separately from spreadsheet files (.xls). This type of Excel macro is also called an Excel 4 macro.
XLM macro sheets have function calls listed in columnar format. Every function of Excel was addressable by these function calls, although macro files were known to grow quite large and become somewhat incomprehensible when programming extensive operations. XLM macros were preferred by those with programming aptitude because they could be used to automate highly complex tasks. Ordinary users, however, typically struggled with XLM macros because of the amount of time and experience required to become proficient at creating them.
The "new" Microsoft Excel macro language began with Excel 5 and produces macros that are called VBA or Excel 5 macros. VBA (Visual Basic for Applications) is an adaptation of the Visual Basic object oriented programming language. Because many programmers are familiar with Visual Basic, and because Visual Basic has a fairly small learning curve, programmers and power users alike are happy with Excel 5 macros. Users with little or no interest in programming, however, have a powerful tool called the Excel Macro Recorder, where a user can record mouse and keyboard behavior and store it as a macro.
The powerful implications of VBA macros in Excel have rendered XLM macros almost obsolete. VBA macros can be digitally signed (unlike XLM macros) and thus avoid some of the data security issues that were associated with the Excel 4 style.
Image Credit: Wikimedia Commons/Alphax