Visual Basic for Applications


This set of pages is intended for those who have an existing interest in VBA coding. It provides working code that the author himself finds of interest. Many of the procedures have good generality, for example, code for logging data, returning a file address, hashing, and others.

In most cases the code of each page can be copied into a standard VBA Excel module, though in many cases will work in other Office applications, with or without slight modification.

VBA Editor SettingsEdit

Because users' computers vary as to the Windows applications installed, it might be helpful to know which References have been set in the Tools menu of the authors' VBA editors. Authors who add to the work should update any of theirs to the list. These currently include:

  • Visual Basic for Applications
  • Microsoft Excel 14.0 Object Library
  • Microsoft Office 14.0 Object Library
  • OLE Automation
  • Visual Basic for Applications Extensibility 5.3
  • mscorlib.dll
  • Microsoft Scripting Runtime
  • Microsoft Forms 2.0 Object Library
  • Microsoft Speech Object Library

In addition, it has been found most useful to set the ShowModal property of userforms to False. This allows the testing of code when the userform is still open, for example to step through the code line by line. This also allows keyboard interaction with the worksheet without closing the form.

Selecting Long ListingsEdit

Some code listings or data sets can be very long on a web page. As such, just selecting the intended text can be quite time consuming. Most browsers however have a way to select all of a page's text right up to the end.

  • Microsoft Edge and Firefox have right context menus with Select All. After selection, use copy to get the whole page. It is then an easier task to trim the pasted selection to its essential parts.
  • Opera Browser has no right context function for Select All . Instead, use the key combination Ctrl+A.

Interest AreasEdit

The following pages are offered as a starting point to get things going. Contributors are invited to edit and add to these pages, and to add new ones. I hope to fill in a bit more of the textual descriptions in the near future.

Arrays (1D) for CharactersEdit

Arrays (2D)Edit



Codes and CiphersEdit

Error HandlingEdit

Files and FoldersEdit

Fonts and FormatsEdit


Hashing Strings and FilesEdit

Logs and Text FilesEdit

Message and Input BoxesEdit






String and Array ShufflesEdit

Text Backup and ValidationEdit

Times, Dates, and WaitsEdit

User FormsEdit

VBA Editor ProjectsEdit

Viterbi ProjectEdit

Procedures for MS WordEdit

Worksheet TransfersEdit

Worksheet UtilitiesEdit

ASCII Log Data from LAS FileEdit

Related booksEdit