Excel allows you to track changes made to a workbook, as described in other issues of ExcelTips. When you turn on change tracking, Excel requires that you share the workbook. After all, change tracking is meant to be used in an environment where multiple users access and change the same workbook.
At some time you may want to turn track changes off, so that they are no longer noted in the workbook. If you turn it off, Excel assumes you also want to stop sharing the workbook, so it automatically turns off sharing. If you want to still continue sharing-without tracking-then you may wonder what your options are.
Unfortunately, Excel is rather confusing when it comes to sharing a workbook and tracking changes. The two features are intimately related to each other.
- If you start with a brand new workbook and then choose to share it (Review | Changes | Share Workbook), Excel allows others to access and modify the workbook. However, track changes is not on at this point.
- If you start with a brand new workbook and then choose to track changes (Review | Changes | Track Changes | Highlight Changes), Excel automatically shares the workbook and turns on change tracking.
- If you start with a shared workbook and choose Review | Changes | Track Changes | Highlight Changes, the Track Changes While Editing check box is selected. This may make you think that just because the workbook is shared, that track changes is also turned on; it isn’t. (You can verify this because changes are not marked in the workbook.) If you click OK in the dialog box, then it will be enabled. If you click Cancel, then it won’t be enabled. If you clear the Track Changes While Editing check box and click OK, then Excel unshares the workbook, as well.
- If you start with a workbook that has track changes turned on and choose Review | Changes | Track Changes | Highlight Changes, the Track Changes While Editing check box is selected, as it should be. Clearing the check box and clicking OK causes Excel to unshare the workbook.
- If you start with a workbook that has track changes turned on and choose Review | Changes | Share Workbook, then the Allow Changes by More than One User At the Same Time check box is selected. (Remember-if track changes is on, then the workbook is automatically shared.) If you clear the check box and click OK, then sharing is turned off and the track changes feature is turned off.
Is it any wonder that all this is confusing? The simplest way to turn off track changes and still have a workbook shared is to turn off track changes, then save the workbook. This saves it in single-user mode. You can then share the workbook and again save it. Four simple steps (turn off tracking, save workbook, share workbook, and save workbook) and you are exactly where you want to be. Remember, however, that if you choose Review | Changes | Track Changes | Highlight Changes, it will appear that track changes is still turned on. Ignore the check box and click Cancel; it is not turned on at this point.
The only way to achieve the desired outcome faster is to use a macro. The macro in Listing 1 automates the steps just discussed.
Listing 1. KeepShared macro.
Sub KeepShared() Dim sFile As String Dim sMsg As String Dim iUsers As Integer Dim iAnswer As Integer With ActiveWorkbook If .MultiUserEditing Then sFile = .Name iAnswer = vbYes iUsers = UBound(.UserStatus) If iUsers > 1 Then sMsg = sFile & " is also open by " & _ iUsers - 1 & " other users:" For x = 2 To iUsers sMsg = sMsg & vbCrLf & .UserStatus(x, 1) Next sMsg = sMsg & vbCrLf & vbCrLf & "Proceed?" iAnswer = MsgBox(sMsg, vbYesNo) End If If iAnswer = vbYes Then .ExclusiveAccess .SaveAs Filename:=sFile, AccessMode:=xlShared End If End If End With End Sub
The macro starts by checking the .MultiUserEditing property to make sure that the workbook is shared. If it is, then the macro checks to see if the workbook is being used by multiple people at the present time. If it is, then you are prompted whether you want to continue. If you do (or if there are not multiple users with the workbook open at the current time), then the workbook is set for exclusive access (single user) and then saved in shared mode. Setting the workbook for exclusive access turns off the track changes feature, as well.