从 "newer" 工作簿粘贴数据后,受保护的 Excel 工作簿损坏

Protected Excel workbook broken after pasting data from a "newer" workbook

给定一个 excel 工作簿,该工作簿在受保护的工作表中有一个未锁定的单元格。

如果我从目标工作簿之后打开的另一个工作簿复制一个单元格,并将其粘贴到未锁定的单元格,它会被锁定,我不能'除了撤消粘贴操作外,不要用它做任何事情

另一方面,如果 源工作簿在目标工作簿之前打开,复制粘贴会按预期工作 - 目标单元格保持可编辑

我在 excel 2007 年和 2010 年转载了这篇文章。

我要问的是重现问题并建议如何使用 VBA 处理此问题以避免用户锁定单元格。

按照@Jeeped 的建议,我编写了这个脚本并且它有效:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Sh.Unprotect Password:="pwd"
Target.Locked = False
Sh.Protect Password:="pwd"
End Sub

但是有一个副作用。每次工作表更改时都将清除撤消缓存。