Hi Everyone,
In this article, I have explained that how you can force Excel to update External workbook links after a fixed interval or instantly. This involves a VBA code, so make sure to Enable Macros while opening workbook to get this done. Actually, I have used a Workbook_Open Event to initialise the Update_Links Subroutine and an Ontime Event that will recall the Update_Links Subroutine after an interval. So here we go:-
Steps:-
1. Open your Target workbook which contains External links to other workbooks.
2. Press Alt + F11. Double Click ThisWorkbook Module. Copy and Paste the following code there:-
3. Now insert a New Module and Paste following code there:-
Note:- Change the Red Bold Portion accordingly to change the interval.
4. Save the workbook as Macro Enabled one. Reopen it while enabling Macros. You will see that Links are being updated. I am assuming that there are No Broken Links in the Target Workbook. This Technique may be used in the Live screens where data is requires to be reflected immediately on the screen.
Explanation:-
I have used .UpdateLink Method of ActiveWorkbook Object that again uses .LinkSources Method to return all Links in the Target Workbook to Update. Links can be of two types:-
1. Excel Links
2. OLE Links
For more information have a look at the following links:-
Workbook.UpdateLink Method
https://msdn.microsoft.com/en-us/library/office/ff195741.aspx
Workbook.LinkSources Method
https://msdn.microsoft.com/en-us/library/office/ff821922.aspx
You can see its implementation in the link below, where a Main Display file is linked to a Shared Excel workbook. When Users update the Shared workbook. The Shared Workbook gets saved automatically. And Using above explained technique, the Main Display File reflectes the changes in the Shared Workbook.
http://www.excelforum.com/excel-programming-vba-macros/1064815-auto-refresh-the-excel-every-1-second-2.html
Regards,
Vikas Gautam
Steps:-
1. Open your Target workbook which contains External links to other workbooks.
2. Press Alt + F11. Double Click ThisWorkbook Module. Copy and Paste the following code there:-
Private Sub Workbook_Open()
Call Update_Links
End Sub
3. Now insert a New Module and Paste following code there:-
Sub Update_Links()
On Error Resume Next
With ActiveWorkbook
.UpdateLink .LinkSources(1), 1
End With
Application.OnTime DateAdd("s", 1, Now), "Update_Links"
End Sub
Note:- Change the Red Bold Portion accordingly to change the interval.
4. Save the workbook as Macro Enabled one. Reopen it while enabling Macros. You will see that Links are being updated. I am assuming that there are No Broken Links in the Target Workbook. This Technique may be used in the Live screens where data is requires to be reflected immediately on the screen.
Explanation:-
I have used .UpdateLink Method of ActiveWorkbook Object that again uses .LinkSources Method to return all Links in the Target Workbook to Update. Links can be of two types:-
1. Excel Links
2. OLE Links
For more information have a look at the following links:-
Workbook.UpdateLink Method
https://msdn.microsoft.com/en-us/library/office/ff195741.aspx
Workbook.LinkSources Method
https://msdn.microsoft.com/en-us/library/office/ff821922.aspx
You can see its implementation in the link below, where a Main Display file is linked to a Shared Excel workbook. When Users update the Shared workbook. The Shared Workbook gets saved automatically. And Using above explained technique, the Main Display File reflectes the changes in the Shared Workbook.
http://www.excelforum.com/excel-programming-vba-macros/1064815-auto-refresh-the-excel-every-1-second-2.html
Regards,
Vikas Gautam
Comments
Post a Comment