![]() |
1
12
如果我理解正确,你就是保护床单的人。如果是这种情况,可以使用以下VBA:
这里的关键部分是“userinterfaceonly:=true”。使用此标志集保护工作表时,仍允许VBA宏进行更改。
将此代码放入
幸亏
Lance Roberts
供他推荐使用
编辑: 由于上述方法似乎不起作用,您可能必须使用unprotect/protect命令包装VBA代码的失败部分。如果您这样做,我还将使用错误处理程序包装整个宏,以便在发生错误后不会使工作表不受保护:
编辑: 看看 this thread 在PCreview。他们经历了几乎相同的步骤,得出了相同的结论。至少你不是一个人! |
![]() |
2
2
在我的例子中,屏幕更新已经关闭,所以用户永远不会看到页面来回切换。嗯。 |
![]() |
3
1
问题在于,要使VBA能够编辑受保护的工作表,必须使用“UserInterfaceOnly”参数设置为True来保护工作表。但是,保存工作簿时不会保存UserInterfaceOnly参数,因此如果关闭并重新打开工作簿,则会发生错误。 这里有一个解决方案:
_
|