Excel受保护工作表中分组文本框锁定失效问题及解决
已保护工作表中分组文本框锁定失效的解决方法
问题描述
在已保护的工作表中,某文本框组内的文本框已设置为「锁定」(含「锁定文本」选项),但用户仍可移动该文本框并修改其中内容。该文本框组通过VBA代码根据单元格D20的值控制显示/隐藏,代码片段如下:
If ActiveSheet.Range("D20") = "Dbl-Bev" Or ActiveSheet.Range("D20") = "Dbl-Bev Out" Or ActiveSheet.Range("D20") = "Dbl-Bev In" Then ActiveSheet.Shapes("RightTop1").Visible = True ActiveSheet.Shapes("RightBot1").Visible = True ActiveSheet.Shapes("RightL1").Visible = False Else If ActiveSheet.Range("D20") = "K-Bev" Or ActiveSheet.Range("D20") = "K-Bev Out" Or ActiveSheet.Range("D20") = "K-Bev In" Then ActiveSheet.Shapes("RightTop1").Visible = True ActiveSheet.Shapes("RightBot1").Visible = True ActiveSheet.Shapes("RightL1").Visible = True Else If ActiveSheet.Range("D20") = "Out-Bev L" Then ActiveSheet.Shapes("RightBot1").Visible = True ActiveSheet.Shapes("RightL1").Visible = True ActiveSheet.Shapes("RightTop1").Visible = False Else ' 代码后续逻辑省略 End If End If End If
用户希望保留文本框分组(避免单独设置可见性的大量工作量),疑问如下:
- 是否因VBA控制导致锁定失效?
- 是否有VBA代码可单独锁定组内指定文本框?
解决方案
问题已解决:只需在保护工作表时取消勾选「编辑对象」选项,即可让文本框的锁定设置生效,阻止用户移动或修改文本框内容。
内容的提问来源于stack exchange,提问作者Jesse
相关产品推荐
相关产品推荐

