Downloads

Excel versions

These files should all work in all recent versions of Excel, unless stated otherwise.

Blocked files problem

If you open a downloaded file but the VBA code doesn't work, here's how to fix that issue: Excel: Add-ins do not load

Excel add-ins and workbooks

RefTreeAnalyser

RefTreeAnalyser add-in for Excel

Better formula precedents and dependents finding. Ever had to work out the logic of other people's Excel files? Ever had to untie the spaghetti-knots of a large Excel workbook's formulas? Then you know what a nightmare this can be!

Now there is RefTreeAnalyser!

Name Manager

Name Manager add-in for Excel

Name Manager An excellent utility to manage defined names in your workbooks.

FlexFind

Flexfind add-in for Excel

Flexfind eases searching and replacing throughout an entire workbook. Also enables you to search and replace strings in objects such as headers and footers, chart titles, buttons and many, many more.

Autosafe

Autosafe add-in for Excel

Autosafe.zip (Build 151, 16 Jan 2023, downloaded: 60.239 times)

New in Autosafe: bugfix related to the Windows Explorer preview pane.

Autosafe tries to overcome some limitations of the built-in Autorecover feature. This utility creates copies of open workbooks at regular intervals in a separate (user-selectable) directory. It does not overwrite the master file(s), that is up to the user to do, using normal methods. As soon as a workbook is closed, the backup copy is deleted from the backup directory. If an abnormal termination of Excel occurs, the backup copies remain on disk, and Autosafe finds them the next time Excel is started and presents recovery options to the user.
Autosafe comes with an autoupdate function which checks for updates every week.
Includes the following languages: English, Dansk, Deutsch, Español, Français, Indonesia, Italiano, Nederlands, Norsk, Hrvatski, Slovenščina, Korean, Русский (Russian), Lithuanian and Hungarian.

Autosafe does not work on a Mac.

GoBack

GoBack add-in for Excel

GoBack.zip (June 6, 2022, downloaded: 17.701 times) Version 1.0 build 013.

Sometimes one has to edit a large workbook, with many worksheets. This tiny utility keeps a record of the ranges you have visited and gives you the opportunity to return to previous selections using two hot keys: control-alt-p to go to a previous selection and control-alt-n to go to the next. It also creates a toolbar with a dropdown to select a previous selection and to disable/enable the utility.

Now updated with ribbon user interface.

Find My Cursor

Find out where the active cell is

FindMyCursor.zip (6 Jan 2022, downloaded: 2.169 times) build 001.This tool is similar to the one below, except that it does not make any changes to your files, it simply helps you to find where the active cell is. Simply install the tool and press control+shift+H to get an animation which draws your attention to the right area 

Cell Sizer

CellSizer.zip (June 15, 2023, downloaded: 611  times) Build 002.

A small and simple tool. It works like this:

  • Use arrow keys to change row heights and column widths
  • Hit control+z to undo

Follow Cell Pointer

FollowCellPointer add-in for Excel

FollowCellPointer.zip (14 Dec 2022, downloaded: 41.998 times) Version 1.0 build 012.

A small tool which follows your cell pointer by placing two arrows on top of your sheet pointing to the active cell. Does not change your formatting and has an option to preserve the undo stack.

Sheet Tools

SheetTools add-in for Excel

SheetTools.zip (24 Jan 2022, downloaded: 10.216 times) Version 1.0 build 001.

This is the file that accompanies my article on how to build an Excel add-in

Table Tools

TableTools add-in for Excel

TableTools.zip (October 24, 2022, downloaded: 8.894 times) Version 1.0 build 015.

This is a small utility to make your life with tables a little easier. See this article

Slicers

Slicers.zip (29 Aug 2019, downloaded: 5.050 times).

This download contains files accompanying this article: Synchronising Slicers

Compare Two Tables

Compare2Tables add-in for Excel

Compare2Tables.zip (Nov 15, 2021, downloaded: 4.721 times) Version 1.0 build 014.

A tool which compares two tables. The tool produces three new tables. Two tables containing the records which are in table 1 and not in table 2 and vice versa and one which lists all records which have been modified. Adds a button to the Data tab of the Excel ribbon.

Spreadsheet Model Template

Euda template for Excel

EUDA-template-EN.xlsm (8 Feb 2021, downloaded: 5.325 times)

EUDA-template-NL.xlsm (8 Feb 2021, downloaded: 2.779 times)

This template makes starting a new spreadsheet model easier as it already contains some functionality I think every model should have.

As discussed in this article

Validation dependent lists

DependentValidationUsingDA.xlsm (22 June 2020, downloaded: 4.582 times)

This demonstrates how to create dependent validation lists using dymanic array functions in Excel.

Close All Workbooks And Quit

CloseAllWorkbooksAndQuitExcel.zip (01 Oct 2015, downloaded: 6.692 times) Version 1.0 build 001.

With the new MDI interface introduced with Excel 2013, closing all workbooks has become unnecessary difficult. This little addin adds a 'Quit Excel' button to your File menu that will close all open workbooks and quit Excel. It also features a Short-cut key: control+q

Header Footer

HeaderFooter.zip (24 August 2018, downloaded: 18.631 times) Version 1.0 build 007.

Managing headers and footers in Excel can be a drag. This little tool helps you to change headers and footers in your files easily by means of a toolbar that shows dropdown/edit boxes in which you can type the header/footer codes directly or select them from the list of currently present header/footer codes in your file.

Setup Utility

SetupUtility.zip (Updated May 5, 2008, downloaded: 20.690 times)

If you have created a nice add-in (see this article how to do that), a setup utility is an easy way for your users to install your addin. This free utility just needs you to change 4 cells to roll your own setup file.

Update: Now automatically removes invalid addins from addin list.

An Excel Add-in that installs itself

selfinstallingaddin.zip (Updated July 12, 2021, downloaded: 2.619 times)

Many users struggle with getting add-ins installed. In this article I show some VBA code that will ease that process: As soon as the user opens the add-in and enables macros, the add-in offers to install itself. This article contains an explanation.

Update An Addin

UpdateAnAddin.xls (Updated February 19, 2007, downloaded: 40.806 times)

If you have created a nice add-in (see this article how to do that), an updating mechanism is an easy way to ensure your users get any bugfixes you did automatically . This download demonstrates how you can implement this functionality in your addin.

Show Table On Userform

ShowTableOnUserform.zip (14 May 2008, downloaded: 18.048 times)

For a project I needed a quick way to display the content of an array to the user. I didn't want to use a worksheet, but opted for a userform. The data I wanted to show was contained in an array. So I figured I'd put a listbox on a userform and make sure the column widths of the listbox resize with the data I want shown. That proved far from easy... See this article on how it works.

Userform zoom demo

Userforms have a zoom property which allows you to make a form larger (or smaller) with very little code:

UserformZoomDemo.zip (23 Dec 2021, downloaded: 1.850 times)

A modern-looking userform in VBA

This is the file accompanying this article: Creating modern-looking userforms in VBA

ModernUserformWithSwitch.xlsm (15 Feb 2022, downloaded: 3.676 times)

Two Listbox Drag Drop

TwoListboxDragDrop.zip (June 10, 2020, downloaded: 4.078 times)

Demonstrates how to activate drag and drop between two listboxes on a Userform. See this article.

Fix Links to UDF

FixLinks2UDF.zip (02 June 2008, downloaded: 11.564 times)

A demo file that handles #Name! errors for workbooks that use UDFs that reside in an add-in. See this article on how that works.

Quadratic Equation

QuadraticEquation.xlsx (02 June 2021, downloaded: 3.236 times)

A demo file showing how to use the LAMBDA function to create your own Quadratic Equation function in Excel. See this article on how that works.

Switching Office Channel

SwitchingOfficeChannel.zip (04 May 2020, downloaded: 2.220 times)

A set of four BAT files to aid in switching your Office 365 to a different Channel.

Office Script examples

officeScriptExamples.zip (23 Aug 2021, downloaded: 3.550 times)

An Office script that adds a Table of Contents to your Excel on-line file. See this article.

Keep the Queries and Connections task pane in check

CloseQueriesPaneOnQuit.zip (Build 001, 26-05-2023, downloaded: 383 times)

This tool prevents the Queries and Connections task pane from becoming narrow next time you open Excel:

Queries and Connections taskpane in narrow state

Query Manager

QueryManager.zip (Build 017, 23 September 2010, downloaded: 22.423 times)

This utility has been developed together with Dick Kusleika . It eases the editing of queries and Pivottable connections. One can:

1. Edit the SQL string and the connect string of queries and PivotCaches

2. Add parameters

3. Change the path to the data source

All in a single dialog.

Autosafe VBE

AutosafeVBE.zip (build 026, 6 Aug 2007, downloaded: 28.233 times)

This utility makes backup copies of VBA components to a user-defined directory. It keeps a user selectable number of copies of each component. It thus keeps a number of generations of your code as your work progresses, enabling you to return to a previous copy when things go wrong. Because it just exports the VBA components, it is unobtrusive because this process is relatively fast compared to saving your workbook or document. Excel and Word version included!!

Non linear Least Squares

nonlinearls.zip (13 Apr 2022, downloaded: 27.135 times) Fit complex functions like y=exp(a.x).sin(x) + b to data using Least squares

Copy VBA Project

CopyVBAProject.zip (Version 1.0, Build 011, 22 Jun 2016, downloaded: 16.053 times)

This utility enables you to copy the components from the VBAProject of workbook A to Workbook B

USE AT OWN RISK!

Export VBA Project

ExportVBAProject.zip (Version 1.0, Build 010, 28 Sep 2022, downloaded: 11.271 times)

This utility enables you to copy the components from a VBAProject to a single text file. If you like, the tool also adds the properties of all userforms and their controls to the textfile (one comma-separated row per control).  Very useful if you need to compare the VBA code of two Excel files. Use this handy tool to compare differences in the exported files: ExamDiff.

Github VBA Exporter

Github VBA Exporter add-in for Excel

GithubVBAExporter.zip (Version 1.0, Build 011, Dec 14, 2022, downloaded: 2.495 times)

This utility enables you to export all components from a VBAProject to a user-selectable set of folders. Very useful if you need to upload the contents of a VBA project into Github. The tool generates a textfile which contains all properties of all userforms and their controls, and the ribbonX is exported too, which enables you to do diff's on your user interface.

Performance Class

PerformanceClass.zip (Version 1.0, Build 001, 20 Aug 2014, downloaded: 8.592 times)

This example file demonstrates the use of a class module to measure performance of your VBA code. See A VBA performance class for an explanation.

Trusted Document Manager

TrustedDocumentManager.zip (Version 1.0, Build 006, 4 March 2024, downloaded: 8.244 times)

This little tool enables you to manage your list of trusted documents. Currently, Excel only allows you to either leave the list intact, or delete the entire list. This means all of your currently trusted documents become untrusted again so you have to enable macro's on all of them once again. The tool allows you to remove just one file, remove an entire folder or even an entire drive. Also it offers the possibility to remove files which no longer exist from the list.

Only available for Excel 2010 and up!

Object Lister

Objectlister.zip (Version 1.0, Build 003, 1 October 2008, downloaded: 19.872 times) Lists objects, properties and methods of the selected object and enables you to quickly build code that uses many properties of an object. See the ObjectLister page for more information.

Tree View

An All-VBA (MSforms) treeview control that makes the common controls treeview obsolete. Works in all Office versions as of Office 2000, including 64 bits and MAC office.

The Excel download contains most of the documentation (on the tabs of the workbook), so I recommend you to at least download the Excel version.

Download the treeview sample workbook (build 026.5, 10 Jan 2023, downloaded 50.437 times)

Download the treeview sample Word document (build 026.5, 10 Jan 2023, downloaded 17.022 times)

Download the treeview sample Access database (build 026.5, 10 Jan 2023, downloaded 41.761 times)

See the accompanying article: An MSForms (all VBA) treeview

Wheel of Fortune

Wheel Of Fortune In Excel

A wheel of fortune, built entirely in Excel!

Excel wheel of fortune (29 September 2016, downloaded 12.004 times)

See the accompanying article: Creating a Wheel Of Fortune with Excel

Bingo (Lotto)

Wheel Of Fortune In Excel

An Excel file to play Bingo 20 Oct 2021, downloaded 1.775 times 

Tombola

An Excel file to draw names (tombola) 29 Oct 2021, downloaded 1.629 times 

VBA driven circular references

VBADrivenCircularReferences.zip (11 February 2015, downloaded 6.047 times)

This file demonstrates the use of VBA to control circular reference calculations. See: Working with Circular references in Excel, Properly setting up circular references

AutoChrt

AutoChrt.zip (2 March 2015, downloaded: 27.282 times)

Automates the process of creating graphs from database-like datasets, where you need to chart various columns against each other in x-y scatter charts to determine relationships between them. It consists of a sheet where to copy the data into and a sheet that holds the chart and some spinner-buttons to control which data are charted.

Simple Inventory System

SimpleInventorySystem.zip (11 Oct 2016, downloaded: 16.007 times)

A simple inventory system built in Excel using simple formulas.

Moving Checkbox

MovingCheckbox.xlsm (29 Feb 2016, downloaded: 14.550 times)

A small demo file which contains a column in which a checkbox is automatically displayed tied to the underlying cell.

Chart An Equation

ChartAnEquation.zip (May 1, 2005, downloaded: 18.035 times)

Demonstrates a method to chart a mathematical equation using just defined names.
See this article for an explanation.

Control Handler

ControlHandler.zip (17 June 2005, downloaded: 15.175 times)

Demonstrates a method to handle the events for multiple controls on a worksheet using a single class module. See this article for an explanation.

Control Lister

ControlLister.zip (10-7-2014, downloaded: 10.781 times)

Tool that lists all controls on your userforms on a worksheet. Includes code to rebuild the userforms from the table. Note: does not handle userforms with multipage controls very well!

Catch Paste Demo

CatchPasteDemo.zip (17 Dec 2007, downloaded: 15.226 times)

Demonstrates how to intercept paste operations in a workbook to prevent users from wrecking your validation. The download contains two workbooks; one for Excel 2003 and earlier, the other for newer versions of Excel. See this article for an explanation.

Undo Handler

UndoHandler.zip (8 March 2006, downloaded: 19.456 times)

Demonstrates a method to enable the user to undo changes made by your VBA code. See this article for an explanation.

Watch Other Cell

WatchOtherCell.zip (18 September 2012, downloaded: 15.567 times)

This workbook simplifies looking at data in a sheet with a lot of columns. It shows the value of a cell on the same row in a column one can enter in a textbox. This way you can scroll all over the sheet and always (e.g.) have the value of a cell in column BE in view. Start the watcher by opening the file and using its entry in the Tools menu.

Get A Range

GetARange.zip (4 May 2006, downloaded: 19.480 times)

This workbook demonstrates a bug in the VBA Application.InputBox function as described here . The workbook also contains a userform and sample code to work around that bug.

Edit Open XML

EditOpenXML.zip (5 September 2011, downloaded: 18.792 times)

Wouldn't it be useful to be able to edit the contents of an Office 2007 OpenXML file from within VBA? Well, now you can using this demo file. Find a full description here .

Modeless Form On Top

ModelessformOnTop.zip (26 November 2012, downloaded: 10.702 times)

With Excel 2013, SDI was introduced as opposed to the MDI previous Excel versions have. This file demonstrates how to keep a modeless userform on top of the Excel window. Find a full description here .

Arg2Name

Arg2Name.zip (8 February 2001, downloaded: 23.245 times)

This workbook demonstrates a trick to pass (range) arguments to defined name formula's. See the Excel names page.

Command Bar IDs

xlMenuFunDict.zip (May 19, 2022, downloaded: 29.888 times)

International versions of Office have the menu system in their local language. Also the Excel worksheet functions are (mostly) listed in local language. This complicates communication with the users with such a version. To aid in this process a utility has been devised that creates and shows a translation list of the Excel built-in command bars and controls and the Excel worksheet functions. This workbook can also list command bars of other Office software packages. It thus enables the international user who is using a different language version of Excel to quickly find translations for sequences of menu commands and function names.


Comments

Showing last 8 comments of 378 in total (Show All Comments):

 


Comment by: Jan Karel Pieterse (7-4-2022 10:39:00) deeplink to this comment

Hi TM,

As far as I know, the separator for the columnwidths property does not change for other countries?


Comment by: TM (7-4-2022 19:57:00) deeplink to this comment

Trying to show the UserForm, VBA raised a runtime error -213735271 (80020005). ~~>
Changing for both ListBoxes from `.ColumnWidths = .Width / 2.1 & "," & .Width / 2.1` to a string joined by a semicolon via `.ColumnWidths = .Width / 2.1 & ";" & .Width / 2.1` solved the issue in my case.

I have to correct my assumption of regional differences, as you have to use semicolons in any case and not commata.

MS Help reference (docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/columnwidths-property) specifies:
"To separate column entries, use semicolons (;) as list separators.
In Windows, use the list separator specified in the Regional Settings section of the Windows Control Panel to change this value."


Comment by: Jan Karel Pieterse (7-4-2022 20:17:00) deeplink to this comment

Hi TM,

I think you must make sure that the string contains valid decimal separator too. Not sure if the comma would work. Your code would return a string with the windows decimal separator due to the string conversion. Perhaps you need to convert explicitly using the Str function to get US syntax or using Cstr to get the local string


Comment by: TM (7-4-2022 21:11:00) deeplink to this comment

Hi Jan Karel, thanks for prompt post (as well as any of your interesting articles)

Think you might have misunderstood my post: I do Not plead for an intermediate comma "," as column withs separator. - On the contrary I'm referring to the need to insert the globally valid semicolon ";" between the individual column width entries (which of course have to be entered with a decimal point in VBA code). Hence `width1 & ";" & width2` instead of `width1 & ";" & width2` in the userform's Initialize event procedure.    


Comment by: Thomas (14-4-2022 23:41:00) deeplink to this comment

Hi:

A couple of issues that I have been running into with your tools for a while:

Compare 2 Tables, on sheet:"Modified records", the query hangs with "ExternalData_1: Getting Data ...". If I open the PQ Editor , it tells me "Expression.SyntaxError: Invalid identifier."

TableTools: In the App_SheetChange handler, I am getting 1004 , Method Undo' of object '_Application' failed , when you Undo to try and collect the oldname, for the automatic update of all Queries and Datamodel.

Actually, in this instance (but there have been frequent other instances), the 2nd error has been triggered by running the 1st tool.

Since this has haunted me for several years, I am wondering whether there is something awry with my config.

Many thanks for your many Excel tools,
Tom


Comment by: Jan Karel Pieterse (15-4-2022 14:15:00) deeplink to this comment

Hi Thomas,

Can you perhaps share the file that causes the comparetwotables add-in to fail?

I must admit that I have not tested both tools being loaded in the same Excel instance.


Comment by: Ali Mohammadi (30-7-2022 09:05:00) deeplink to this comment

"I am getting a compile error in ExportVBA addin. It says the code needs to be updated to 64 bit version. I Checked the code. You added 32-64 bit declaration for some but not all. I changed codes as below. Although, after modifying API declaration, ExportVBA doesn't extract VBA codes.

Modified codes:

#If VBA7 Then
    Private Declare PtrSafe Function SHGetSpecialFolderLocation _
        Lib ""shell32"" (ByVal hWnd As LongPtr, ByVal nFolder As Long, ppidl As LongPtr) As LongPtr
    Private Declare PtrSafe Function SHGetPathFromIDList _
            Lib ""shell32"" Alias ""SHGetPathFromIDListA"" (ByVal Pidl As LongPtr, ByVal pszPath As String) As LongPtr
    Private Declare PtrSafe Function SetCurrentDirectoryA _
        Lib ""kernel32"" (ByVal lpPathName As String) As Long
    Private Declare PtrSafe Sub CoTaskMemFree Lib ""ole32"" (ByVal pvoid As LongPtr)
#Else
    Private Declare Function SHGetSpecialFolderLocation _
            Lib ""shell32"" (ByVal hWnd As Long,ByVal nFolder As Long, ppidl As Long) As Long
    Private Declare Function SHGetPathFromIDList _
            Lib ""shell32"" Alias ""SHGetPathFromIDListA"" (ByVal Pidl As Long, ByVal pszPath As String) As Long
    Private Declare Function SetCurrentDirectoryA _
            Lib ""kernel32"" (ByVal lpPathName As String) As Long
    Private Declare Sub CoTaskMemFree Lib ""ole32"" (ByVal pvoid As Long)
#End If

"


Comment by: Jan Karel Pieterse (1-8-2022 11:38:00) deeplink to this comment

Thank you Ali, I have uploaded an updated version today.


Have a question, comment or suggestion? Then please use this form.

If your question is not directly related to this web page, but rather a more general "How do I do this" Excel question, then I advise you to ask your question here: www.eileenslounge.com.




To post VBA code in your comment, use [VB] tags, like this: [VB]Code goes here[/VB].

Jan Karel Pieterse info@jkp-ads.com
Copyright 2024, All rights reserved.