Excel允许您跟踪对工作簿所做的更改,如_ExcelTips_的其他问题所述。当您打开更改跟踪时,Excel要求您共享工作簿。毕竟,更改跟踪应在多个用户访问和更改同一工作簿的环境中使用。

在某些时候,您可能希望关闭跟踪更改,以使它们不再在工作簿中记录。如果将其关闭,Excel会假定您也要停止共享工作簿,因此它将自动关闭共享。如果您仍想继续共享而不进行跟踪,那么您可能想知道您的选择是什么。

不幸的是,在共享工作簿和跟踪更改方面,Excel相当令人困惑。这两个功能紧密相关。

  • 如果从全新的工作簿开始,然后选择共享(工具|共享工作簿),则Excel允许其他人访问和修改该工作簿。但是,此时尚未更改曲目。

  • 如果您从全新的工作簿开始,然后选择跟踪更改(“工具” |“跟踪更改” |“突出显示更改”),Excel将自动共享工作簿并打开更改跟踪。

  • 如果从共享工作簿开始,然后选择工具|跟踪变更|突出显示更改,在编辑时跟踪更改复选框被选中。这可能使您认为仅由于共享工作簿,还启用了跟踪更改。不是。 (您可以验证这一点,因为工作簿中未标记更改。)如果在对话框中单击“确定”,则会启用它。如果单击“取消”,则不会启用它。如果清除了“编辑时跟踪修订”复选框并单击“确定”,则Excel也会取消共享工作簿。

  • 如果您从打开了曲目更改的工作簿开始,然后选择工具|跟踪变更|突出显示更改,在编辑时跟踪更改复选框,它应该被选中。清除复选框并单击“确定”将导致Excel取消共享工作簿。

  • 如果您从打开了曲目更改的工作簿开始,然后选择工具|共享工作簿,然后选中允许多个用户同时更改复选框。 (请记住,如果启用了轨道更改,则工作簿将自动共享。)如果清除复选框并单击“确定”,则共享将被关闭,轨道更改功能将被关闭。

这一切都令人困惑吗?关闭跟踪更改并仍然共享工作簿的最简单方法是关闭跟踪更改,然后保存工作簿。这会将其保存在单用户模式下。然后,您可以共享工作簿并再次保存它。只需四个简单的步骤(关闭跟踪,保存工作簿,共享工作簿和保存工作簿),即可轻松实现自己的目标。但是请记住,如果选择工具|跟踪变更|高亮显示更改,将显示跟踪更改仍处于打开状态。忽略该复选框,然后单击“取消”。此时尚未打开。

更快达到预期结果的唯一方法是使用宏。

以下宏可自动执行刚刚讨论的步骤:

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

宏首先检查.MultiUserEditing属性以确保工作簿是共享的。如果是,则宏检查当前是否正在由多个人使用该工作簿。如果是,则提示您是否要继续。如果您这样做(或者当前打开的工作簿没有多个用户),则将工作簿设置为独占访问(单个用户),然后以共享模式保存。将工作簿设置为独占访问权限也会关闭曲目更改功能。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(2511)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: