Solved

Protected worksheet Refresh table(not pivot)

Posted on 2016-07-26
6
112 Views
Last Modified: 2016-07-27
I need to protect my worksheet, but still be able to refresh the underlying data(table).  

My worksheet is an Invoice with the body of the invoice is a table linked to underlying query.  How do I refresh this data when I have locked down (protected worksheet) w/password?  The only code I can find seems to unlock & Lock by storing the password within the VBA.   There has to be another method.
0
Comment
Question by:Karen Schaefer
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 1

Accepted Solution

by:
Lawrence Salvucci earned 500 total points
ID: 41730430
This is how I do it. I have some VBA code that will unlock the sheet, then refresh the table, then lock the sheet again. You can just put the "RefreshConnections" function on a command button on your worksheet somewhere. Then the user just clicks on the button and it runs that code and does everything I mentioned. There are 4 pieces of code that I use. Just change the ("strsIVAL") to the sheet name and change the "strs" to the password you want to use to lock your sheet. Change that in both the UNLOCKSHEETS & LOCKSHEETS code below. Then change the name of the file ("Stocking Program Monitor.xlsm") in the REFRESHALLCONNECTIONS code below. Put all this in a module and then put the RefreshConnections code linked to a command button. Or just run the macro from the "View Macros" popup screen.

Sub UnlockSheets()
Worksheets("strsIVAL").Unprotect Password:="strs"
End Sub

Sub LockSheets()
Worksheets("strsIVAL").Protect Password:="strs"
End Sub

Sub RefreshAllConnections()
Workbooks("Stocking Program Monitor.xlsm").RefreshAll
End Sub

Sub RefreshConnections()
UnlockSheets
RefreshAllConnections
LockSheets
End Sub

Open in new window

0
 

Author Closing Comment

by:Karen Schaefer
ID: 41731508
Thanks that did the trick.  Quick question is there a way to standardize this so it can be used in multiple workbooks.  Global variable?  active workbook instead of hard coding the workbook name?
0
 
LVL 1

Expert Comment

by:Lawrence Salvucci
ID: 41731527
Yes there is. I will post something when I get back to my office. Give me a little bit.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Karen Schaefer
ID: 41731530
ok thanks
0
 
LVL 1

Expert Comment

by:Lawrence Salvucci
ID: 41731699
You can use this code to lock and unlock the sheets. This will just unlock or lock all the sheets. You still need to hard code the password though.

Sub LockSheets()
Dim ws As Worksheet
Dim pwd As String

pwd = "BC1958"  ' Put your password here
For Each ws In Worksheets
    ws.Protect Password:=pwd
Next ws
End Sub

Sub UnlockSheets()
Dim ws As Worksheet
Dim pwd As String

pwd = "BC1958"  ' Put your password here
For Each ws In Worksheets
    ws.Unprotect Password:=pwd
Next ws

End Sub

Open in new window


Then you can use this to refresh your connection to your table

Sub RefreshAllConnections()
Workbooks(ThisWorkbook.Name).RefreshAll
End Sub

Open in new window


Let me know if you need anything else.
0
 

Author Comment

by:Karen Schaefer
ID: 41731823
thanks that's great.
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
Do you use a spreadsheet like Microsoft's Excel?  Have you ever wanted to link out to a non excel file on your computer or network drive?  This is the way I found to do it!
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question