Any recommendation on having a shared excel file auto-refresh itself?
We will need 3 users of an excel file on the fileserver. One user will be making changes. Others are read-only, but they must see the change as quickly as possible. Any pointers on how to do this?
In your excel file you need to enable workbook sharing (in 2007 it's the Review Ribbon, Share Workbook). On the advanced tab you can set the "Update changes" to an interval as low as 5 minutes and set it to "Just see other users' changes".
Jesse
Not sure if anyone is still interested in this but there are far more sophisticated tools to do this now.
Checkout https://www.ipushpull.com
Disclaimer (just so I don't get too much hate): I am affiliated with ipushpull
Depends on what server tools you're working with.
If it's just a shared excel file on a server, if one user has it open others will only be allowed to open a read only version, regardless of what their permissions are. When the first user saves their changes, other users can view the updates by reopening the file (again, in read only mode if the first user still has the file open, and/or if their permissions are set to read only).
If you're on a system like sharepoint you can do the kinds of things you're looking for.
This may help:
http://office.microsoft.com/en-us/excel-help/overview-of-sharing-and-collaborating-on-excel-data-HA010089896.aspx
Save main excel file (A) on the server and give access to editor so that he can edit. Copy same file and name it (B) and link it to main file (A) to read data and protect. You can do this simply by referencing respective cells to main file. Distribute copies of file (B) to users to read the data.
How to link?: Open both files on your PC, in file (B) Sheet-1 click in Cell A1, type = and go to File (A) Sheet-1 and click in Cell A1. In formula bar if cell reference is absolute ('[(A).xlsx]Sheet1'!$A$1) change it to normal ('[(A).xlsx]Sheet1'!A1) by hitting F4 3 times. and hit Enter. Cell A1 in File (B) has been linked to respective cell in main file (A).
Now select cell A1 in file (B) and drag it towards last required cell on right then select line 1 and drag downwards as required. Now the whole page is linked back to your file (A). Similarly do for other sheets. Any changes done on file (A) will reflect in File (B) in real time if both are open, otherwise on reopening file (B) you will be asked to update, click yes and that is it. Hope this helps.
Related
English may not sound natural using a translator. sorry. Going to the main topic, while working on Excel, I accidentally deleted a sheet from Excel and threw it away. Is there any way I can turn it around? I've learned that I can never turn back. I have already saved.
Tried to undo such as control + z. just didn't come back.
The only way I know is to open your backup copy of the spreadsheet.
When doing important tasks I always work on a copy - if the next step or process is successful then I make another copy. This way I have a "set" of copies being the historical backup.
Excel does warn you about the consequence of deleting a, or several, sheets.
If the Excel file is saved on OneDrive (or any other cloud) or Sharepoint, you can open an old version of the file and transfer the sheet to your recent file.
If you have saved it on your hard drive and your computer is set up to save backups you can right click the file, open the options menu. There you might then see a list of past versions, from which you can get back your sheet.
Is there a way to force excel from automatically "rewriting" the address of the external reference?
Example
When I mouse over and select a table in another workbook as a source, the formula bar shows this:
=[WorbookName.xlsx]SheetName!TblName
Once I hit enter, the formula bar shows this:
=WorbookName.xlsx!TblName [#Data]
Brackets and sheet names get removed and [#Data] gets added.
I confirmed that excel understands the address with the sheet name by using indirect and forcing excel to use the full reference
=INDIRECT([WorbookName.xlsx]SheetName!TblName)
So its not a limitation by excel. However this only proved that excel can handle that style of reference. The problem is that when you use indirect, youre not actually creating a "link" to the source file, your workbook will never ask to update the values if the source file is closed.
I need to force excel to keep the table name in the reference because I will be uploading to OneDrive and co-authoring the workbook. When you reference a table in another workbook, and that workbook is closed, the reference is changed to include the web address of your OneDrive like this
source file open: =WorbookName.xlsx!TblName [#Data]
source file closed: =https://d.docs.live.net/location/FileName.xlsx'!TableName
I believe this is causing errors, preventing excel from updating the values. when I first open the workbook that contains the links, it will try to update to the latest data. When I use regular ranges, it has no issues. When I use tables, I get "we cant update some of the links in your workbook right now". If you go to edit the links, it looks like this:
Edit Link
If you try to update the values, you are shown this, Notice it is looking for a worksheet but the name its expecting is actually the name of the workbook.
Select Sheet
I believe this is because when you reference a range, the address is written like this:
Rance referance =https ://d.docs.live.net/Loacation/[FileName.xlsx]SheetName!$A$1:$D$20
table referance =https ://d.docs.live.net/location/FileName.xlsx'!TableName
Notice there is a difference in the location of exclamation ! point. I believe this is the reason why excel shows the workbook name as the worksheet is looking for. again if you use indirect, youre able to force excel to use the "long" address, so we know excel recognizes it with no issues.
Really hoping to find a solution, thanks in advance!
This is an alternative to what you're trying to do.
I did some tests and if the file is saved in OneDrive, you could have it open (from OneDrive not locally) and just refresh the data with PowerQuery.
Steps to create the query:
In Chrome:
Locate the source file in Onedrive (aka: https://onedrive.live.com/)
In google Chrome, download the file (we need to get the download link in the next step)
Click the elipsis in Chrome's top right corner and click on Downloads (or press Ctrl + J)
Right click the link of the downloaded file, and select Copy
In Excel...
Click Data | Get Data | From other sources | From web (I don't have the english version right now, but you should be able to locate it)
Paste the URL
Click Ok
Select the Sheet/Table (do any transformation you may require)
Click Close and Load to...
Select a sheet or any location
Press Ok
Now do any formulation against that table
As said, I did some tests with the file opened in another instance and then refreshing the table, and it worked.
Let me know if yours do.
EDIT:
As per your comments, (though I didn't test it) I did some research on how to make this work with the default sharing links.
Here are the steps:
In Chrome:
Locate and select the source file in Onedrive (aka: https://onedrive.live.com/)
Click on Share and generate the view/edit link
Copy that link
As of this date, the link should look something like this:
https://1drv.ms/x/s!ArAKssDW3T7wnIIEvmhHrMxfvhowww?e=UsaATm
The key here is to replace the ms with ws, so the link that you need to use in Excel should be something like this:
https://1drv.ws/x/s!ArAKssDW3T7wnIIEvmhHrMxfvhowww?e=UsaATm
In Excel:
Click Data | Get Data | From other sources | From web (I don't have the english version right now, but you should be able to locate it)
Paste the URL
Click OK
Righ click the icon that says 1dr.ws
Select and click Excel
Continue with the other transformations
The problem
I have eight Excel documents that are stored on a Sharepoint site. One of those documents (“receiving file”) contains formulas/cell references to the other seven documents (“source files”) on Sharepoint.
Everything works when the references are created.
Once the workbooks are saved and closed and then reopened, the receiving file no longer updates the values from the source files.
The files are synced in Windows Explorer and opened in the desktop version of Excel. Also, all eight files are opened at the same time.
The reference will first look something like this
='[Source file.xlsx]Sheet1'!$A$1
After closing and reopening, the references will look like this
='https://somecompanyname.sharepoint.com/sites/SitefortestingExcelreferences/Shared Documents/[Source file.xlsx]Sheet1'!$A$1
If I now change a value in the source value, the change will not appear in the receiving file.
What I tried so far
Setting “Calculation” to “Automatic.
Click “Calculate Now” and “Calculate Sheet”.
Double-click into the cell with the reference and hit enter.
In “Data > Queries & Connections” click “Refresh all”
In “Data > Queries & Connections > Edit Link” I clicked on update values. It did not help. However, I tried to rebuild a simple system with just two files and a single reference, and here it did work
Starting from point 5) I programmed a little macro that updates all links in all open workbooks (it did not help either):
Option Explicit
Sub UpdateAllConnections()
Dim wbWorkbook As Workbook
For Each wbWorkbook In Application.Workbooks
wbWorkbook.UpdateLink Name:=wbWorkbook.LinkSources, Type:=xlExcelLinks
Next wbWorkbook
MsgBox "Update complete.", vbInformation, "Complete"
End Sub
If I remove the path to SharePoint, so the formula looks like this
='[Source file.xlsx]Sheet1'!$A$1
It works again (until I save and reopen).
I found the following on Microsoft Answers (about OneDrive but it's probably the same issue):
https://answers.microsoft.com/en-us/msoffice/forum/all/excel-value-links-not-updating-on-onedrive/e48a7680-71e6-4a77-9eb1-e03ec7f0e3e0
I contacted the official O365 support desk and they told me this is built into the connection between Excel and OneDrive.
They have received thousands of complaints and there is no fix for it.
No option to tell Excel/Office/OneDrive to link to local copies of files on 1D by default.
No fix is planned as this is not how MS envisions how Excel/1D should be used.
My question
Any suggestions? Are there any tools in Excel that can be used to update the linked cells automatically or manually? Might SharePoint settings prevent the update?
If not, since removing the file path to SharePoint seems to work is there a way (using VBA) to remove the full file path from all cell references, so
='https://somecompanyname.sharepoint.com/sites/SitefortestingExcelreferences/Shared Documents/[Source file.xlsx]Sheet1'!$A$1
becomes
='[Source file.xlsx]Sheet1'!$A$1
I could probably loop through all cells and simply replace the path with nothing, but that would only work if I know the file path beforehand and if all the files are stored in the same SharePoint folder.
I had the same issue and here is my workaround: I can open the source file on the Sharepoint site by clicking ... and then Open in App (as opposed to Open in Browser) The referecence cell in the receiving file will become ='[Source file.xlsx]Sheet1'!$A$1 again and get automatically updated.
My workaround would be to consolidate external links onto a single sheet, and manually or use a macro to copy / hard paste to another identical page that you use for the links.
Just run the macro when you have the workbook open on your desktop to update the values.
Even simpler, you could also have a sort of database with linked values in a column and hard copies pasted into another column. This would be simpler than two identically sized sheets.
BUT, you could also go crazy and have named ranges like quarterly_total_formula and an analogue somewhere else called quarterly_total_valueonly and then write a macro to iterate over each with a for each looking for things "LIKE" *_formula and hard paste each result into the complementary *_valueonly spot... but then you'd need a macro to check that they were all paired... and by that point you might as well not waste your time in Excel and develop in Power BI, Tableau, RMarkdown, or heck learn Adobe Illustrator or work directly in HTML.
I do not know if this has been asked elsewhere but I looked and googled around for 30 mins and couldn't seem to find much. I have an old file with some drop down boxes for certain cells in an excel spreadsheet. I never really know how it works to be honest, and there are no macros within this sheet. But somehow, there are some links between some cells within the same file.
I recently changed file names and made copies to this master file, but some of the newer copies drop down boxes no longer work, and seems to be wanting to get to the original file. I tried editing this/these link(s) under the ribbon interface using 2016 - Data > Edit Links (under connections), and it brings up a pretty dialogue box, which has this change source button. But after I clicked it and selected the correct file (it's a circular reference, so it is the current file), it simply did nothing and did not update the file name or anything else shown within the dialogue box. And of course, my links are not fixed and the drop down boxes are not working.
I have uploaded the file here with all data stripped out, but the links are still intact there for your review. Any suggestions why I am seeing this? If I want to fix the links, what can I do to achieve that without fixing each of the cells individually? Thanks!
The file is here:
https://drive.google.com/open?id=1Sn27jnQmYvqWHho6Oa0yz7PXVGU4zwPJ
These reason you're seeing these links is that there are cells with Data Validation that point to an external file (cell B71, for example).
Remove all Data Validation that is referencing external files, save the file, and re-open. The links should be gone.
We're having a problem with the Insert Hyperlink problem taking forever to populate because of a ton of files in a network folder (Windows 7, xp was fine... oh the good old days. And yes, I've tried everything, disabling search, different reg entries, etc... and I'd like a different and less hacky solution.)
What I'm looking for is a macro that prompts for a number (in this case a client file number), and then opens the Insert Hyperlink dialogue inside a specific folder (for example, the file number the user enters might be 4321, and then the insert hyperlink dialogue would be opened inside the folder z:\clients\4321\ It's the z:\clients folder that has a stupid number of folders in it)
The actual file that would be hyperlinked would be somewhere inside there, so additional browsing would have to be done by the user. And I'm not sure exactly how the macro would behave in so far as knowing what to hyperlink (presumably the current cell would make sense to me).
Thanks for any help you can provide!
... You may have to play around with it a bit, but your best bet is probably to set the Hyperlink Base for each user's sheet and then set relative hyperlinks in the sheet itself.
Hope this helps...