Excel – the corporate Swiss Army knife

Microsoft Excel© is my primary tool in customer projects. Very often it is used to build a report with data originating from multiple sources. Visual Basic for Applications (VBA) is the language of Excel macros. In the hands of a proper programmer – or even me – it is a powerful tool.

The routines shared here have been written using US English 32-bit version of Excel for Windows. Anyone who is serious about writing Excel macros to a larger audience than just one company with a consistent software platform should definitely use that version. It is the best bet – but not a sure bet – for your code to work in other language and level versions of Excel.  All international versions of Excel run macros made on a US English platform – for the most part.

Most fumbles happen when handling dates and times. Sometimes it can just be as simple as the decimal sign. This is usually due to differences in Windows regional settings between the system where the code was written and the one running it. Most of the snippets provided here should not be affected by those settings.

Do note that also the operating system that you are running on has a huge impact on the code. Depending on what you need to achieve VBA relies heavily on the dynamic libraries (DLLs in Windows) provided by your operating system. Most corporate Windows deployments are 64-bit and the routines I share have been tested on Windows 10.

These snippets have been written or at least verified to work on Excel 2016 for Windows. They should work on Excel versions from 2010 upwards. In order to utilize these routines in Excel for Mac you may need to do some tweaking.

Quite many of these procedures call one another to perform a part of the task or they require some declarations to be made as private or public. All such requirements are mentioned in the descriptions so please read them carefully.

Excel macro programming tips
Speeding up Excel macros
Progress on Excel status bar
Excel-lent Message Box
Updated on February 11, 2017 at 9:34 pm EEST

Leave a Reply