2012-01-11 148 views
2

我想從VBA開始/停止在Excel中「跟蹤更改」功能。有沒有辦法通過Excel中的VBA觸發「跟蹤更改」?

通過網絡搜索我看到一個名爲TrackRevisions的屬性ActiveDocument對象。假設在MS Word中寫入ActiveDocument.TrackRevisions = True應該打開「跟蹤更改」。

但在MS Excel中,此行給出424 Object required運行時錯誤。嘗試ThisWorkbook時返回相同的錯誤。將其更改爲ActiveSheet帶來438 Object doesn't support this property or method錯誤。

回答

1

對於shared workbook您可以使用VBA從這些鏈接(該方法是ActiveWorkbook.HighlightChangesOptions

不提供跟蹤的跟蹤深度相同樂在Word,例如從帖子中的第一個環節,在Excel中:

  1. 變化跟蹤由撤消和備份的區別
  2. 某些類型的更改不會被跟蹤的更改,您對單元格內容跟蹤,但其他更改(如格式更改)未被跟蹤。
  3. 更改歷史記錄保存只對特定的時間間隔
  4. 更改歷史記錄定期刪除

如果不是,你是你追什麼能夠採用特定的VBA跟蹤

  1. 某些細胞,或
  2. 比較版本

但如果是這種情況,我們將需要更多關於您追逐的信息。

+0

'HighlightChangesOptions'似乎只在啓用更改跟蹤時才起作用。但是如何通過VBA開啓變更追蹤? – 2012-01-11 14:55:19

1

您可以使用下面的代碼。錄製宏時,您會看到此代碼。

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

感謝您的回答。我得到'運行時錯誤:1004方法HighlightChangesOptions對象_Workbook失敗'。 – 2012-01-11 13:46:40

+0

試試這裏的代碼:http://windowssecrets.com/forums/showthread.php/138285-Tracking-changes-problem-in-Excel-2007?p=803592&viewfull=1#post803592 – natem345 2013-04-08 19:04:03

0

這些問題實際上是你想達到的。如果您想跟蹤電子表格中的更改,我假設您有一些其他用戶正在編輯工作簿,並且您想要記錄誰更改了內容,以及稍後審覈/批准任何修改。那麼,你並不需要觸發宏。

...而不是跟蹤更改,請嘗試使用Microsoft的電子表格比較(應用程序僅限於Excel 2013,Excel 2016,Office 365 Professional)比較兩個工作簿。

...代替追蹤變更,您可以記錄對工作簿所做的更改的歷史記錄(誰更改了什麼時間以及何時更改) - XLTools Version Control

我使用兩者取決於任務。

相關問題