我正在尝试编写一个 VBA 宏来跟踪对单独工作表中工作簿的更改。
如果您手动执行此操作,命令顺序为“工具”>“跟踪更改”>“突出显示更改”,并选择“单独工作表”选项。您必须执行该命令的两次迭代,一次是激活内联跟踪,第二次是将跟踪移动到单独的工作表。
使用宏记录器,我得到了这段代码:
With ActiveWorkbook
.Save
.KeepChangeHistory = True
.HighlightChangesOptions When:=xlAllChanges
.ListChangesOnNewSheet = True
.HighlightChangesOnScreen = False
.Worksheets("History").Select
End With
当我运行这个时,我收到错误HighlightChangesOptions 方法失败。有什么建议么?
仅当工作簿已共享时,HighlightChangesOptions 方法才有效。在UI中,打开HighlightChange将自动共享工作簿,但在VBA中则不然。
Application.DisplayAlerts = False
With ActiveWorkbook
.SaveAs , , , , , , xlShared
.KeepChangeHistory = True
.HighlightChangesOptions When:=xlAllChanges
.ListChangesOnNewSheet = True
.HighlightChangesOnScreen = False
.Worksheets("History").Select
End With
DisplayAlerts 调用将阻止 Excel 警告您正在覆盖现有工作簿本身。您可能想评论该行只是为了看看发生了什么。
请注意,此代码不能存在于共享工作簿中。共享工作簿后,代码将停止执行并出现错误。它必须位于不同的工作簿或加载项中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)