Excelでは、_ExcelTips_の他の問題で説明されているように、ブックに加えられた変更を追跡できます。変更の追跡をオンにすると、Excelではブックを共有する必要があります。結局のところ、変更の追跡は、複数のユーザーが同じブックにアクセスして変更する環境で使用することを目的としています。

トラックの変更をオフにして、ワークブックに記載されないようにすることができます。オフにすると、Excelはブックの共有も停止することを想定しているため、共有は自動的にオフになります。追跡せずに共有を継続したい場合は、オプションが何であるか疑問に思うかもしれません。

残念ながら、Excelは、ブックの共有と変更の追跡に関してはかなり混乱しています。 2つの機能は互いに密接に関連しています。

  • 新しいブックから始めて、それを共有することを選択した場合([レビュー]、[変更]、[ブックの共有])、Excelでは他のユーザーがブックにアクセスして変更することができます。ただし、この時点ではトラックの変更はオンになっていません。

  • 新しいブックから始めて、変更を追跡することを選択した場合([レビュー]、[変更]、[変更の追跡]、[変更の強調表示])、Excelは自動的にブックを共有し、変更の追跡をオンにします。

  • 共有ワークブックから始めて、[レビュー]、[レビュー]の順に選択した場合。変更点|変更の追跡| [変更を強調表示]、[編集中に変更を追跡する]チェックボックスがオンになっています。これにより、ブックが共有されているという理由だけで、変更の追跡もオンになっていると思われるかもしれません。そうではありません。 (ワークブックに変更がマークされていないため、これを確認できます。)ダイアログボックスで[OK]をクリックすると、有効になります。 [キャンセル]をクリックすると、有効になりません。 [編集中に変更を追跡する]チェックボックスをオフにして[OK]をクリックすると、Excelもブックの共有を解除します。

  • トラックの変更がオンになっているブックから始めて、[レビュー]、[レビュー]の順に選択した場合。変更点|変更の追跡| [変更を強調表示]、[編集中に変更を追跡する]チェックボックスがオンになっているはずです。チェックボックスをオフにして[OK]をクリックすると、Excelはブックの共有を解除します。

  • トラックの変更がオンになっているブックから始めて、[レビュー]、[レビュー]の順に選択した場合。変更点| [ブックを共有する]、[複数のユーザーによる変更を同時に許可する]チェックボックスがオンになっています。 (覚えておいてください。トラックの変更がオンの場合、ブックは自動的に共有されます。)チェックボックスをオフにして[OK]をクリックすると、共有がオフになり、トラックの変更機能がオフになります。

これがすべて混乱しているのは不思議ではありませんか?トラックの変更をオフにしてワークブックを共有する最も簡単な方法は、トラックの変更をオフにしてからワークブックを保存することです。これにより、シングルユーザーモードで保存されます。その後、ブックを共有して再度保存できます。 4つの簡単な手順(追跡をオフにする、ブックを保存する、ブックを共有する、ブックを保存する)で、目的の場所に正確に移動できます。ただし、[レビュー] | [レビュー]を選択した場合は注意してください。変更点|変更の追跡|変更を強調表示すると、変更の追跡がまだオンになっているように見えます。チェックボックスを無視して、[キャンセル]をクリックします。この時点ではオンになっていません。

目的の結果をより速く達成する唯一の方法は、マクロを使用することです。

リスト1のマクロは、今説明したステップを自動化します。

リスト1.KeepSharedマクロ。

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_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11678)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。

Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります:

link:/ excel-Turning_Off_Track_Changes_without_Unsharing [共有を解除せずにトラックの変更をオフにする]