我正在尝试找出是否可以避免使用宏来执行以下操作:当用户勾选复选框时,它会锁定同一行的所有其他单元格。如果他取消勾选,它会解锁单元格...
目前,我的系统使用宏来实现这一点,但是一旦客户让我在系统中创建包含数千行的电子表格,宏就会使其运行得非常非常慢(有时甚至需要几个小时才能打开电子表格)。
我刚刚开始这项研究,想看看不使用宏的情况下我可以用 excel 复选框做什么,我想知道我是否可以根据复选框是否被选中来锁定其他单元格,而无需使用宏。可能吗?如果可以,那么怎么做?提前致谢。
答案1
你可以这样做。
答案之前已经给出过,请查看 StackOverflow 上的以下答案:
但是,我认为这有点麻烦,我不喜欢麻烦的电子表格,因为它们往往不受支持。正如@gtwebb 所说,可能值得分享您的代码以查看是否可以优化。
你可以仅使用数据验证来阻止用户输入新数据
编辑:在列表中使用公式
感谢餐饮主管的评论,值得记住的是,您可以在数据验证/列表中使用公式。
请参阅他对另一篇帖子的回答以了解其实际作用:https://stackoverflow.com/a/11902463/138938
原始帖子
Excel 2007 演练:
Ribbon > Data > Data Validation
Authorize : Personnalized (or similar, my Excel is not in English sorry)
Enter this formula in the field:
=IF(A1="",FALSE,TRUE)
因此,如果 A1 仍然为空,则无法在单元格中输入值
你可以仅使用数据验证来阻止用户输入新数据
编辑:在列表中使用公式
感谢餐饮主管的评论,值得记住的是,您可以在数据验证/列表中使用公式。
请参阅他对另一篇帖子的回答以了解其实际作用:https://stackoverflow.com/a/11902463/138938
原始帖子
Excel 2007 演练:
Ribbon > Data > Data Validation
Authorize : Personnalized (or similar, my Excel is not in English sorry)
Enter this formula in the field:
=IF(A1="",FALSE,TRUE)
因此,如果 A1 仍然为空,则无法在单元格中输入值