Welcome toExcel.Tips.Net
Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment
ExcelTips FAQ
ExcelTips Premium
Learn Access Now
Free Printable Forms
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips
Advertise on the
ExcelTips Site
Adding a Little Animation to Your Life
Converting a Range of URLs to Hyperlinks
Making the Formula Bar Persistent
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 (2886) applies to Microsoft Excel versions: 97 2000 2002 2003
Your Data, Your Way! Want the greatest control possible over how your data appears on the page? Excel's custom formats can provide that control, and ExcelTips: Custom Formats can unlock the secrets to creating your own custom formats.