2012-01-11 11 views
2

ExcelでVBAから「変更を追跡」機能を開始/停止します。ExcelでVBAを使って "変更を追跡"する方法はありますか?

私は、TrackRevisionsというActiveDocumentというオブジェクトを探しました。たぶん、MS WordでActiveDocument.TrackRevisions = Trueと書いて "Track changes"をオンにするべきです。

しかし、MS Excelでこの行には424 Object required実行時エラーが返されます。 ThisWorkbookで試してみると、同じエラーが返されます。 ActiveSheetに変更すると、エラー438 Object doesn't support this property or methodになります。

答えて

1

shared workbook

このが提供していない、あなたは(メソッドがActiveWorkbook.HighlightChangesOptionsである)これらのリンクからVBAを使用することができますavailabと同じ深さのトラッキングWordので、例えば私の記事の最初のリンクから、ExcelのLEは:

  1. 変更の追跡は、元に戻すと、バックアップとは異なり
  2. 変化のいくつかのタイプが追跡された内容をセルするためにあなたが行った変更を追跡されません書式の変更などのその他の変更は追跡されません。それはあなたが追跡する特定のVBA採用することができるかもしれない何を追いかけていたではない場合
  3. 変更履歴だけ
  4. 変更履歴を定期的に

を削除された特定の間隔で保持され

  1. 特定の細胞、又は
  2. コンペアバージョン

しかしそのような場合は、あなたが追いかけているものについてより多くの情報が必要になります。

+0

変更追跡が有効になっている場合のみ、 'HighlightChangesOptions'が機能しているようです。しかし、どのようにVBAを介して変更の追跡を有効にするには? –

1

次のコードを使用できます。マクロを記録するときにこのコードが表示されます。

With ActiveWorkbook 
    .HighlightChangesOptions When:=xlAllChanges 
    .ListChangesOnNewSheet = False 
    .HighlightChangesOnScreen = True 
    End With 
+0

答えをありがとう。私は '実行時エラー:1004メソッドHighlightChangesOptionsオブジェクト_Workbookの失敗'を取得します。 –

+0

ここでコードを試してください:http://windowssecrets.com/forums/showthread.php/138285-Tracking-changes-problem-in-Excel-2007?p=803592&viewfull=1#post803592 – natem345

0

質問は本当に達成したいものです。スプレッドシートの変更を追跡する場合は、他のユーザーがワークブックを編集していると仮定し、変更したユーザーを記録し、後で変更を確認/承認する必要があります。さて、実際にはトリガーマクロは必要ありません。

...変更履歴の代わりに、Microsoftのスプレッドシート比較(アプリケーションはExcel 2013、Excel 2016、Office 365 Professionalに限定)を使用して2つのブックを比較してみてください。

...変更履歴を保存する代わりに、ワークブックの変更履歴(いつ、誰が変更したか) - XLTools Version Controlを記録できます。

私はタスクに応じて両方を使用します。

関連する問題