Excel позволяет отслеживать изменения, внесенные в книгу, как описано в других вопросах ExcelTips. Когда вы включаете отслеживание изменений, Excel требует, чтобы вы предоставили общий доступ к книге. В конце концов, отслеживание изменений предназначено для использования в среде, где несколько пользователей получают доступ и изменяют одну и ту же книгу.

В какой-то момент вы можете захотеть отключить отслеживание изменений, чтобы они больше не записывались в книге. Если вы отключите его, Excel предполагает, что вы также хотите прекратить совместное использование книги, поэтому он автоматически отключает общий доступ. Если вы хотите продолжить совместное использование — без отслеживания — тогда вам может быть интересно, какие у вас есть варианты.

К сожалению, Excel довольно сбивает с толку, когда дело доходит до совместного использования книги и отслеживания изменений. Эти две функции тесно связаны друг с другом.

  • Если вы начнете с новой книги, а затем решите поделиться ею (Инструменты | Поделиться книгой), Excel позволит другим пользователям получить доступ к книге и изменить ее. Однако отслеживание изменений на данный момент не происходит.

  • Если вы начнете с новой книги, а затем выберете отслеживание изменений (Инструменты | Отслеживание изменений | Выделить изменения), Excel автоматически предоставит общий доступ к книге и включит отслеживание изменений.

  • Если вы начнете с общей книги и выберете Инструменты | Отслеживать изменения | Выделите «Изменения», флажок «Отслеживать изменения при редактировании» установлен. Это может заставить вас думать, что отслеживание изменений также включается только потому, что книга является общей; это не так. (Вы можете проверить это, потому что изменения не отмечены в книге.) Если вы нажмете ОК в диалоговом окне, он будет включен. Если вы нажмете «Отмена», он не будет включен. Если снять флажок «Отслеживать изменения при редактировании» и нажать «ОК», Excel также отменит общий доступ к книге.

  • Если вы начинаете с книги, в которой включено отслеживание изменений, и выбираете Инструменты | Отслеживать изменения | Выделите изменения, флажок «Отслеживать изменения при редактировании» установлен, как и должно быть. Снятие флажка и нажатие кнопки ОК приводит к отмене общего доступа к книге в Excel.

  • Если вы начинаете с книги, в которой включено отслеживание изменений, и выбираете Инструменты | Предоставить общий доступ к книге, затем установлен флажок Разрешить изменения более чем одним пользователем одновременно. (Помните — если включено отслеживание изменений, то к книге автоматически предоставляется общий доступ.) Если вы снимите флажок и нажмите «ОК», то общий доступ будет отключен, а функция отслеживания изменений отключится.

Стоит ли удивляться, что все это сбивает с толку? Самый простой способ отключить отслеживание изменений и сохранить доступ к книге — отключить отслеживание изменений, а затем сохранить книгу. Это сохраняет его в однопользовательском режиме. Затем вы можете поделиться книгой и снова сохранить ее. Четыре простых шага (отключите отслеживание, сохраните книгу, поделитесь книгой и сохраните книгу), и вы окажетесь именно там, где хотите. Однако помните, что если вы выберете Tools | Отслеживать изменения | Выделите Changes, будет казаться, что отслеживание изменений все еще включено. Не обращайте внимания на флажок и нажмите Отмена; на этом этапе он не включен.

Единственный способ быстрее достичь желаемого результата — использовать макрос.

Следующий макрос автоматизирует только что обсужденные шаги:

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), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2511) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Turning_Off_Track_Changes_without_Unsharing [Отключение отслеживания изменений без разглашения].