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
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!
FlexFind
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.zip (Build 152, 26 Sep 2024)
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.zip (June 6, 2022, 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
FindMyCursor.zip (6 Jan 2022, build 001)
Cell Sizer
CellSizer.zip (June 15, 2023, 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.zip (14 Dec 2022, 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.zip (24 Jan 2022, Version 1.0 build 001)
This is the file that accompanies my article on how to build an Excel add-in
Table Tools
TableTools.zip (October 24, 2022, 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)
This download contains files accompanying this article: Synchronising Slicers
Compare Two Tables
Compare2Tables.zip (Nov 15, 2021, Version 1.0 build 014)
Spreadsheet Model Template
EUDA-template-EN.xlsm (8 Feb 2021)
EUDA-template-NL.xlsm (8 Feb 2021)
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)
This demonstrates how to create dependent validation lists using dymanic array functions in Excel.
Close All Workbooks And Quit
CloseAllWorkbooksAndQuitExcel.zip (01 Oct 2015, 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, 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)
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)
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)
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)
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)
A modern-looking userform in VBA
This is the file accompanying this article: Creating modern-looking userforms in VBA
ModernUserformWithSwitch.xlsm (15 Feb 2022)
Two Listbox Drag Drop
TwoListboxDragDrop.zip (June 10, 2020)
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)
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)
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)
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)
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)
This tool prevents the Queries and Connections task pane from becoming narrow next time you open Excel:
Query Manager
QueryManager.zip (Build 017, 23 September 2010)
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)
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)
Fit complex functions like y=exp(a.x).sin(x) + b to data using Least squares
Linear Least Squares
regression_analysis_formulas.zip (14 Oct 2024)
Fit a linear equation to data using Least squares. Replicates the Analysis Toolpak add-in, using formulas only. Including ANOVA.
Copy VBA Project
CopyVBAProject.zip (Version 1.0, Build 011, 22 Jun 2016, downloaded:
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:
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
GithubVBAExporter.zip (Version 1.0, Build 011, Dec 14, 2022, downloaded:
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:
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,
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:
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
Download the treeview sample Word document (build 026.5, 10 Jan 2023, downloaded
Download the treeview sample Access database (build 026.5, 10 Jan 2023, downloaded
See the accompanying article: An MSForms (all VBA) treeview
Wheel of Fortune
A wheel of fortune, built entirely in Excel!
Excel wheel of fortune (29 September 2016, downloaded
See the accompanying article: Creating a Wheel Of Fortune with Excel
VBA driven circular references
VBADrivenCircularReferences.zip (11 February 2015, downloaded
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)
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)
A simple inventory system built in Excel using simple formulas.
Moving Checkbox
MovingCheckbox.xlsm (29 Feb 2016)
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)
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)
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)
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)
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)
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 (12 September 2024)
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)
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)
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)
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)
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)
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 380 in total (Show All Comments):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:
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.
Comment by: Alex. M. (17-4-2024 20:18:00) deeplink to this comment
Hello,
I downloaded the autosafe, enabled and configured in Excel 2003, but nothing happen when the time that I set run off.
Any info of what and where to check to make it work?
Comment by: Jan Karel Pieterse (17-4-2024 20:44:00) deeplink to this comment
Hi Alex,
Autosafe waits until you've been in active before doing a save. So to test, dry it to a short time, make a change to the file and then don't touch the system for that time. It should do its work.
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.