Tracking Changes in Excel - to see only changed rows - excel

I have a very big shared Excel spreadsheet with changes made in some of the columns. I need to create a new spreadsheet which pulls from that big spreadsheet only the rows containing cells that have been changed - in other words all rows' numbers marked as read by Excel.
Very important thing is that all the changes still have to be VISIBLE (new and old values). Do you have any idea how to do it?
I am sorry if this question sounds stupid to you but I am a complete amateur and I need something to start with...

You can Track Changes on MS Excel. But there are some rules for that.
It is available only in Shared Workbooks.
Workbooks that has tables CAN NOT be shared.
To share a workbook you need to disable some privacy settings
Go to: File-> Excel Options -> Trust Center (again Trust Center button)
Under the Privacy Options category, under the Document-specific settings, uncheck the "Remove personal information from file properties on save"
Then Click OK
Now, you can share your workbook under Review Tab, Changes group.
When you click Share Workbook command, it asks you some rules for sharing and change tracking. Choose properties which fits you then click OK.
Your workbook is now shared and you can easily Track Changes under Review Tab, Track Changes method group.
You may highlight the changes on screen and you may see changes on the history window. You may also Accept/Reject the changes.
Don't forget: Workbooks that have tables can not be shared. You can Convert To Range your tables before start sharing under Table Tools/Design backstage tab.

I think your simplest option is to manually 'version control' your files by saving your versions under a different filename (_v1.xlsb, _v2.xlsb etc).
You could then use Microsoft's Spreadsheet Compare tool (https://support.office.com/en-gb/article/Basic-tasks-in-Spreadsheet-Compare-f2b20af8-a6d3-4780-8011-f15b3229f5d8) to diff any two versions and see the modified rows.
Another solution would be to use a commercial solution. I know that sharepoint (https://support.office.com/en-us/article/Track-versions-of-a-file-in-a-SharePoint-library-54578c95-0538-407a-bc05-ea34d614f9e4) do document revision tracking (though I am not sure how much they give you in terms of diffing).
I have been working on a solution to this problem (www.pathio.com) where revisions of an Excel workbook get versioned in the background and an audit log with diffs is generated. I've put together an example of a diff here: https://app.pathio.com/bjoernstiel/Cashflow.xlsb/diff/sheets/Sheet1?version=c079909def1716c833e431e3a9ca1d1b2f5705d0

Related

Is there a way to change data entry on one sheet while on another sheet in excel (manual entry of the same data point in two locations)

I am building a financial model with 3 sections (Data Entry/Assumptions, Calculations, Reporting). The team is very excel heavy so my options around system automation are limited. In the data entry tab, junior team members would enter 100's of assumptions, calculation would take place in the background and management reporting would update. Management is going to want to be able to toggle a handful of those same assumptions from the reporting tab, as they are not going to go into the depths of the data entry.
Essentially, from the Reporting Tab & the Data Entry tab, users will need to be able to change the same cell. Is there a way to get a view into and be able to change the data on one tab while one a different tab? I thought that I saw an embedded window once where a different tab was represented, allowing the user to change that tab from another but I have not been able to find anything.
Ideally, the result would be the embedded window. I have considered forms but haven't dug into the functionality yet. I am not comfortable in VBA (defer to Power Query for automated data manipulation) but I am not opposed to a simplistic application. I am wondering if it makes sense to have the Junior team enter their assumptions and have a VBA enabled button overwrite that data with whatever is in the other tab once clicked by management - open to ideas.

Vba code in original file to track all copied files

Is it possible to insert a code so we can track all copied excel files in the future?
The reason why: we are creating a template excel file that people can copy and fill in. The problem is that they regularly have to fill in the same information so instead of starting from the template they copy the already filled in template.
If we decide to change the template, we want to change all the files that were copied so there are no multiple versions going around.
All the files are stored on a server in subfolders so We can access them all. Titles of the file will vary based on the wishes from the customer.
After reading you, I see that:
Summary:
You have one single Template that everybody copies
You store all the filled templates on one Server Subfolder
Title of the Files varies from Customer's needs
Challenges:
For Performance shake, you might need of a program than Excel to manage those files
Otherwise, it is possible to use Excel VBA, but is somehow/enough complicated so you would need to have an advanced skills and enough time to write everything handling that Subfolders' file renaming if you wish to collect the data in one Single Excel.
Suggested Solution:
I recommend you to have A Locked Worksheet + Workbook Excel
Template so your customers won't be able to edit its structure and
it will keep all of your templates to be the same.
You better have some kind of the Standard in the nomenclature of your Excel Files which will help you use that description later on for search/filter/sorting ...
You can have a Reset Button as well within the Template where your customers will click and will empty all the fields effortless.
In short, If you wish to track of files being copies, you would need more than Excel VBA for that as you need to play with A windows service for you to track them.
Hope this will give you some ideas. All the Best!

Turning Excel project into Web app

I've created a proof of concept (PoC) to test on users for a project. The wookbook is made up of a number of worksheets - which refer to each other - with LOOKUPS throughout.
I want to share the PoC with a prospective user but don't want to share the full spreadsheet file and only want them to be able to add to certain fields to test functionality. They will add text to certain fields which will then refer to different parts of the spreadsheet and make calculations based on those inputs.
If I publish as a web app they will have full access to the formulas (my secret sauce) which I don't want.
Someone suggested Google sheets. I've tried importing to Google sheets and publishing there but none of the formulas port across and as such none of the buttons I've created work.
Can anyone help?
Here's what I would do. First, click the select all arrow at the top left of your sheet, right-click somewhere on the sheet, click Format Cells, then Protection, and lock and hide everything. Now go to your sheet and click the individual cells you need unlocked for testing purposes (perhaps color them a different color as well). Now lock your sheet.
A word of warning, though. Worksheets can easily be unlocked by someone who knows the workaround (or someone willing to spend ten minutes on Google to find it). If possible, turn your formulas into UDFs (they're typically reusable that way too, so it's an added bonus), and then lock your code down. You can also convert them into an add-in, making them a bit more secure as well.
Ultimately, I don't believe a web app is a viable option if you don't have the skills or know-how to build one. Excel is extremely weak when it comes to protection, and if you're not willing to trust your consumer and/or not willing to make your formulas insanely complicated (to a point where they're near impossible to breakdown by anyone other than the creator), then you need to rethink some things.
Unlock the cells that you want the users to be able to enter data into and then protect the entire book. Enable "Lock project for viewing" to protect your code. Make sure you use a good password that is 16 characters in length.
...

Easily Update Master Spreadsheet from Various Spreadsheets

I have a master spreadsheet that we use for tracking a certain activity. The spreadsheet contains various lines with item descriptions, and open columns where end users are to fill in dates.
An updated master spreadsheet goes out to various end users to update date values and return it to the coordinator. The coordinator then takes the various feedback sheets, and updates the master accordingly.
Up to now, this has been quite a labor-intensive task as end-users change filtering settings before sending it back, and there are 1000+ lines, so it is hard to see what the end-users updated.
Does someone know of an effective method to do a task like this, using Excel directly or VBA?
I would recommend creating a server version of the master spreadsheet so that end-users could check out that document,fill in their dates and avoid the redundancy of having someone retype everything. Sharepoint's ideal for this kind of thing.
If you want to keep it to Excel alone, though, perhaps you could save all the modified user-input-provided workbooks to a designated folder. Then write a macro to loop through each of these files in the folder. Supposing that the cells the users fill/inputting data into were previously empty, check to see if they're now not empty and copy those changes to the master file.

How to improve refresh for Excel Data Connections?

Like many, I have spreadsheet that draws data from over 40 text files as data sources. The text files are from another app, and need to be periodically updated into Excel.
The set of data source files and spreadsheet need to be able to be duplicated and run on different systems. This is where the astonishing inability of Excel to support data import from the spreadsheet folder (or relative paths at all) becomes a big problem. This question mentions the issue but has no solution.
I developed a crude workaround for this (IMHO) fundamental flaw in Excel. Map your spreadsheet folder to a drive letter with SUBST. Then import the data from the SUBST drive letter. That drive letter and path will become part of the spreadsheet, buried deep in dialogs, and very inconvenient to update. So instead, whenever you copy or move the spreadsheet, re-create the SUBST to the current folder. Ugly, but effective.
New Question: Using this technique, when I open the spreadsheet and click Refresh to refresh from the data sources, I have to click "Import" on over 40 dialogs - one for each file. How can I automate that process?
I discovered that under a data range properties, there is a setting for "Prompt for file name on refresh". By unchecking that, it is no longer necessary to click import for every linked file. The properties for each linked data source must be adjusted individually. There doesn't seem to be any ability to multi-select data sources.

Resources