粘贴来自“较新”工作簿的数据后,受保护的Excel工作簿中断

在受保护的工作表中给定一个带有未locking单元格的Excel工作簿。

如果我从目标工作簿之后打开的另一个工作簿中复制单元格 ,并将其粘贴到未locking的单元格中,它将变为locking状态,除了取消粘贴操作之外,我无法执行任何操作。

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

我已经在Excel 2007和2010中转载了这个。

我问什么是重现问题,并build议如何处理与VBA这个问题,以避免用户locking单元格。

以下@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 

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