【发布时间】:2013-06-11 06:56:53
【问题描述】:
我有一个类似于应用程序的 Excel 工作表,带有允许用户“导航”记录的表单控制按钮。 First、Previous、Next 和 Last 在其中一个工作表记录中适当循环,显示我的“表单”工作表中的值。
当用户未处于编辑或添加模式时,我想锁定单元格以防止用户修改内容。
我尝试了 Range("A1:O24").Locked = True,但我仍然能够在单元格中输入新值。
有谁知道如何做到这一点?我需要我的 vba 代码能够在用户“导航”时为单元格分配新值,但要防止用户输入新值,除非在添加或编辑模式下。
【问题讨论】:
-
你见过this吗?在 VBA 解决方案中有一个注释掉的
'ws.Protect userinterfaceonly:=True,它几乎锁定了用户界面,但仍然允许您从 VBA 子程序中编辑单元格。 -
@mehow:不过是一个小小的警告——
UserInterfaceOnly属性没有与文件一起保存!因此,当您打开文件时,任何宏都会遇到问题 - 除非您使用 Open 事件重新设置属性!
标签: vba excel protected office-2007