Frequently Asked Questions
+ What Excel version do I need to use the addins and/or workbooks found on this site?
+ Why do some of the addins require administrator rights?
+ Can you modify (insert addin or workbook name) for me?
+ Can you unlock or provide the password to (insert addin or workbook name)?
+ I pasted some code into Outlook's VBA editor, but it won't run!
+ Are you available to help me work on my project?
+ Why are some sites missing from the VBA Search Engine?
+ What software do you use?
+ Can you help me solve the problem I'm having with my program/code?
+ System Requirements
What Excel version do I need to use the addins and/or workbooks found on this site?
As of Sept. 2011 I am in the process of converting all XLA and XLAM files (addins) to VB6 COM DLLs (hey, better late than never). That means the information below will be outdated shortly. Soon, all addins will work in all versions of Excel, and in all operating systems from Windows 2000 onward, but will still be restricted to 32-bit Microsoft® Office only.
In general, Excel 2003 is required because certain features used in some of the workbooks (Lists, XML) were only made available starting in Excel 2003. Some files are 2007/2010 only, as indicated by the file extension (.xlsx or .xlsm). There's really no reason to be running a version of Excel older than 2003 anyway, there are so many benefits to upgrading.
Addins are separated by version: 2003 and 2007. You should download the appropriate one for your Excel version:
Excel 95 – do not download
Excel 97 – do not download
Excel 2000 – download '2003' version
Excel 2002/XP – download '2003' version
Excel 2003 – download '2003' version
Excel 2007 – download '2007' version
Excel 2010 – download '2007' version
They should work in all operating system environments (32 bit Office only), but have only been tested in Windows XP and Vista.
Please note that I will no longer be supporting any usage of addins in other environments or in Office versions lower than 2003.
Why do some of the addins require administrator rights?
The AddIns that require admin rights to install, need them because they modify the registry and install VB6 runtime files into protected areas of Windows. These actions are only allowed by administrators.
To install those AddIns that require administrator rights, at least one of the following three conditions must be met:
- You are logged in as Administrator.
- You have administrator permissions.
- You run the setup program as Administrator
To run the installation program "As Administrator", instructions for each operating system are as follows:
- Windows 2000: HOW TO USE WINDOWS 2000: RUNNING A PROGRAM AS AN ADMINISTRATOR
- Windows XP: HOW TO: Use the RUN AS Command to Start a Program as an Administrator in Windows XP
- Windows Vista: How to use User Account Control (UAC) in Windows Vista
- Windows 7: How do I run an application once with a full administrator access token?
Can you modify (insert addin or workbook name) for me?
If I feel it will benefit all users, I am open to making changes to any of the addins you find here. If the modification you want is specific to you or your company only, I can do it for a fee.
Can you unlock or provide the password to (insert addin or workbook name)?
In general, no. There is a reason why some of the files on this site are password protected. 99% of it has to do with support — some people will try to change formulas or edit the VBA, unintentionally break working code, then contact me to try and find out (for free) why it won't work. Password protection (for the most part) prevents people from creating support issues. The addins are especially susceptible to this, that is why they are packaged in an installer, automatically added to Excel and password protected — to limit the amount of "touching" that some people like to do.
Also note that with VB6 compiled DLLs, it isn't possible to share source code by "unlocking" files because there is nothing to unlock. In that case, entire projects are made available for download.
The other 1%, I'm sorry to say, has to do with spoiled freeware snobs who feel that because something is on the Internet it should be free and get really offended when you suggest otherwise. These files take a lot of hard work and I'm simply not interested in sharing that hard work for free. Sometimes I give out source code to people who approach me nicely, but if I detect a sense of entitlement that is when I shut down.
I understand that some people like to peek under the hood of some of these files to learn how they work, and this approach will keep them out. I do post a lot of sample code on this site, as well as my blog, however, which hopefully should more than make up for any code that can't be viewed.
I pasted some code into Outlook's VBA editor, but it won't run!
Visit My Outlook code won't run to set up Outlook so it will run your code.
Are you available to help me work on my project?
Yes, visit the For Hire page and contact me using the form found there.
Why are some sites missing from the VBA Search Engine?
Unfortunately, there are some websites (mostly older ones but some new ones as well) that have very poorly written VBA code. When I started learning VBA, I relied on some of those older sites. Looking back, I'm embarrassed to see how bad my code was, and I realize that some of my early mistakes were due to reliance on coding methods I learned from those sites. Some of those sites are even run by (current or former) Microsoft MVPs and rank well in the search engines. It took an excessive amount of hard work to undo those habits and learn better ones.
I referring to code that:
- overuses Select/Selection pairs
- uses For Each to go cell-by-cell through a range instead of reading ranges into an array (once or twice in a pinch is OK, but EVERY time?)
- is overly simplistic: "Here's how to display a message box … " (followed by two lines of code with MsgBox) in other words, something you can find in Excel's Help section
- appears quickly scribbled (or even recorded) and generally inefficient, and is provided "for beginners"
- hasn't been touched or updated in years
- is utterly devoid of proper indentation or formatting
Oddly, the quality of the code seems directly related to the quality of the website.
While the goal of the VBA Search Engine is to locate VBA code, I believe it is a disservice to you and the general Office developer community (read: those who have to help you when you copy bad code and get stuck) to include sites that have badly written code. Let's stop sending traffic to bad code and maybe it will go away.
What software do you use?
See Credits page.
Can you help me solve the problem I'm having with my program/code?
Sure, as long as it's a specific question, send it to me using the contact form. If you are writing about a project for hire, use the contact form on the For Hire page. Please don't be offended if I don't respond or if I tell you to go to a search engine. Your email will be read but due to the volume of email received (and all the other things I have to do) a reply may not be prompt or even forthcoming.
Please understand, I can't see what you see, or know what you know; I only know what you tell me. If you leave out relevant details, you'll get a useless response that merely asks for the information, wasting valuable time that could have been spent working on a solution.
Before you email me, did you:
- search the Web, this site, or the VBA search engine for the answer?
- Actually test your code?
- Make sure macros are enabled?
- Declare all your variables, use Option Explicit and Debug » Compile, and made sure your variables are the correct type for the value or object you intend them to hold?
- Written at least some code already, and you just need help finishing up part of it?
- If your code is for Outlook, did you restart Outlook before trying to run the code? (see My Outlook Code won't run)
- Check the System Requirements?
I've created a checklist so you can make sure you're doing everything you can to help yourself. Both versions (2003 and 2007+) are included so you can open whichever one you need. I hope it doesn't come across as condescending, because that is not my intent.
If you do need to reach out for help, there are great guides out there that can help you make sure you are asking questions the right way, for example 10 Ways To Improve Tech Support and How To Ask Questions The Smart Way.
Remember this is my hobby, for which I generally provide free assistance, which means I may not be available at all times.
System Requirements
Before running any VBA code samples from this site, please make sure your computer (or the one you are targeting with code) meets the minimum requirements.
Microsoft Office
Minimum supported version: 2003 (Office 11)
Code found on this site may work with other versions, but was written in Office 2003.
Internet Explorer Automation
For code samples that automate Internet Explorer, you will need to have Internet Explorer on the local machine. To determine if you have Internet Explorer on your machine, run this code:
Sub GetIE()
Dim ie As Object
On Error Resume Next
Set ie = CreateObject("InternetExplorer.Application")
If ie Is Nothing Then
MsgBox "You do not have Internet Explorer", vbCritical
Else
MsgBox "You have Internet Explorer", vbInformation
End If
End Sub
If you do not have Internet Explorer, you will not be able to run code samples that automate it.
MSXML
Some code samples require MSXML. If so, you will need MSXML 6.0 on the local machine in the %windir%\system32 folder. For example, if your Windows folder is C:\Windows, MSXML 6.0 is located at
C:\Windows\system32\msxml6.dll
If you have a lower version of MSXML, you will need to adjust the code sample to use the version you have. For example, if you have MSXML 2.0, instead of
CreateObject("MSXML.XMLHTTP.6.0")
you would use
CreateObject("MSXML.XMLHTTP.2.0")
Visit MSXML Object Library Routines for a function library of routines you can use to parse XML retrieved from the web.
