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.
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() 'Update by Extendoffice 5/28/2019 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. Make sure your cursor is in the first Sub DataRefresh code section, and then 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?