How to allow external data refresh in protected worksheet in Excel?
You may have imported data from other applications to Excel with its build-in function - Get External Data, and updated the imported data easily by the Refresh All button. However, after protecting the worksheet, the Refresh All button is disabled and the imported data cannot be updated any more. How to allow external data refreshing in protected worksheet? Method in this article can help you.
Excel Productivity Tools
Office Tab: Bring powerful tabs to Office (include Excel), just like Chrome, Safari, Firefox and Internet Explorer. Save you half the time, and reduce thousands of mouse clicks for you. 30-day Unlimited Free Trial
Kutools for Excel: Save 70% of your time and solve 80% Excel problems for you. 300+ advanced features designed for 1500+ work scenario, make Excel much easy and increase productivity immediately. 60-day Unlimited Free Trial
The below VBA code can help you to refresh imported external data after protecting the worksheet in Excel. Please do as follows.
1. In the protected worksheet, press the Alt + F11 keys simultaneously to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, click Insert > Module, then copy and paste the below VBA script into the Module window. See screenshot:
VBA code: Allow external data refresh in protected worksheet
Sub DataRefresh() ActiveSheet.Unprotect "123" ActiveWorkbook.RefreshAll Application.OnTime Now + TimeValue("00:00:01"), "DataRefresh2" End Sub Sub DataRefresh2 () If Application.CommandBars.GetEnabledMso("RefreshStatus") Then Application.OnTime Now + TimeValue("00:00:01"), " DataRefresh2" Else ActiveSheet.Protect "123" End If End Sub
Note: In the VBA code, “123” is the password we specified to protect the worksheet. Please change it based on your needs.
3. Press the F5 key to run the code. In the popping up Import File dialog box, please select the external file which you have imported data from, and then click the Import button.
After returning to the worksheet, you can see the external data is updated immediately.
Note: This code can refresh the external data in protected worksheet which imported from Access, Text as well as Excel file.
- How to allow edit objects in protected worksheet in Excel?
- How to allow merge cells within protected worksheet in Excel?
- How to allow spell check in a protected worksheet in Excel?
- How to protect cell formatting but only allow data entry in Excel?