因此,使用宏我可以创建新工作表,其中一些单元格将被锁定。我在宏中使用此方法:如何在Excel中处理这个单元格锁? (VBA)
ActiveSheet.Protect UserInterfaceOnly:=False
(对于整个新的工作表) 然后在这个宏的一些细胞:locked = False
然后锁定属性,其他的宏切换特定细胞的使用真或假锁。例如,此表中的一个表被锁定,但是按钮的宏重新计算并重写表的值,并且在宏的开始处table.Locked = False
和宏Locked = True
的末尾再次执行此操作。
但是当我保存Excel,关闭并重新打开它,我按下按钮,但我得到"unable to set the Locked property"
我应该怎样做呢?
更新:
Sub userinterface()
ActiveSheet.Protect UserInterfaceOnly:=True
End Sub
Sub locking()
Range("A1").Locked = False
Range("A1") = 5
Range("A1").Locked = True
End Sub
所以我有一个新的工作表,和我运行用户接口宏。它锁定整张纸。然后我运行锁定宏,在给定单元格中写入5并再次锁定单元格。之后,我保存Excel,关闭并打开它,我只想运行锁定宏。此时我收到错误。
Máté,我们需要的是一个最小的,完整的,可验证的例子来重现这个问题,如下所示:http://stackoverflow.com/help/mcve没有这些,我很难理解你似乎经历过的问题并不能重现它(为了解决它)。因此,请添加您当前使用的完整代码来锁定文件(所有相关的宏及其放置位置:例如作为工作表事件,或者在文件关闭时作为事件执行等)。也许那么我们可以重现你的问题。 – Ralph
当然,它会很短。 –
这是你的全部代码吗?没有什么可以表明这不应该工作得很好?在你的问题中你说'table.locked = False',但是代码中有其他说明吗? –