Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, and 2013. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Using a Single Password for Multiple Workbooks.

Using a Single Password for Multiple Workbooks

by Allen Wyatt
(last updated February 16, 2015)

2

Bill has a set of multiple workbooks that he frequently uses as a suite. To prevent prying eyes from the contents of these workbooks, he has set a password for each of them. Bill uses a menu workbook as a gateway to the other workbooks in the suite. The workbook contains hyperlinks to the individual workbooks, providing him with quick access to the workbooks in his suite.

Since Excel protects, via password, each workbook on a file-level basis, whenever Bill clicks a hyperlink he needs to enter the password for the workbook he is trying to access. He wonders if there is a way to simply enter the password once (it is the same password for all of the workbooks in his suite) and have access to all the workbooks without the necessity of repeatedly entering the password.

The short answer is that this cannot be done since Excel treats each file separately. Switch to a separate file via your hyperlink, and Excel once again asks for the password. There are only two possible ways to avoid the annoyance. The first is to combine all the separate workbooks into a single workbook. This may not be an optimal solution, for any number of reasons. (For instance, you may need to distribute individual workbooks to other users. If you combine all the workbooks into one, you remove this capability.)

The other solution is to use a macro to handle switching between workbooks, rather than using hyperlinks. There are many ways that such a macro system could be set up, but one simple way that mimics the hyperlink method is to create a new worksheet that will act as your "gateway." In the cells where you would have added hyperlinks, instead place the full path and filename of each workbook you want to link to. You should end up with a list of file specifications for your workbooks.

Now, right-click the sheet tab of this new worksheet. Excel displays a Context menu from which you should select View Code. This displays the VBA Editor, with the code pane displayed for the worksheet. Enter the following macro into the code pane:

Private Sub Worksheet_BeforeDoubleClick _
  (ByVal Target As Excel.Range, Cancel As Boolean)
    Dim sPW As String
    Dim sFile As String

    sPW = "password" 'Change to your password
    sFile = Target.Value
    If sFile <> "" Then
        If Dir(sFile) <> "" Then
            Workbooks.Open _
              FileName:=sFile, _
              password:=sPW
            Cancel = True
        End If
    End If
End Sub

The only thing you should have to change in the code is the password you want used for the workbooks you are accessing. (The code assumes that the same password is used for all of the workbooks.)

Press Alt+Q to exit the VBA Editor, and you are back at your worksheet. Save the workbook, and then double-click any of the cells containing the path and filenames. What Excel does is to then pass control to the macro which grabs the path and filename and then opens that workbook.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (8109) applies to Microsoft Excel 2007, 2010, and 2013. You can find a version of this tip for the older menu interface of Excel here: Using a Single Password for Multiple Workbooks.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Determining the Length of a Non-Document Text File

If you use a macro to create and work with text files, you can find out the length of those files using a simple command. ...

Discover More

Moving from Sheet to Sheet

Need to move quickly through the worksheets in a workbook? Learn the keyboard shortcuts and you can make short work of this ...

Discover More

Printing an Entire Workbook by Default

Need to print an entire workbook? It's as easy as adding a single line of code to your macros.

Discover More

Save Time and Supercharge Excel! Automate virtually any routine task and save yourself hours, days, maybe even weeks. Then, learn how to make Excel do things you thought were simply impossible! Mastering advanced Excel macros has never been easier. Check out Excel 2010 VBA and Macros today!

More ExcelTips (ribbon)

Creating Default Formatting for Workbooks and Worksheets

Not satisfied with the way that default workbooks and worksheets look in Excel? You can easily create your own defaults for ...

Discover More

Discovering Dependent Workbooks

When you starting linking information from one workbook to another, those workbooks become dependent on each other. ...

Discover More

Excel Not Responding

Have you ever been working with data in Excel and experienced a "freeze" where the program stops responding? This can be ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 7 - 1?

2016-01-18 14:03:07

Geoffrey Wan

Dear Sir/Madam,

It works when mouse cursor showing cross but still asks to input password when showing hand. I don't know why. Please help, thanks!

Geoffrey


2014-02-03 01:59:42

Andreas H

Or use the easy and dirty solution:
Insert Labels as "URLs", assign a makro to each one:
sub open1()
Workbooks.Open Filename:="P:Excelbook.xlsx", Password:="Passfrase"
end sub


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.