我在vba中创建一个TextBox,用户输入一个值然后在工作表中搜索它,如你所见
我的问题是我想锁定此TextBox,并且用户只需编辑框内的文本即可。我正在尝试使用属性并选中“已锁定”并取消选中“锁定文本”,然后保护工作表
Sub protect_TextBox()
ActiveSheet.Protect UserInterFaceOnly:=True
'rest of my code...
End Sub
它阻止我的TextBox移动和调整大小,用户只能编辑
中的文本但它也锁定了许多功能,如过滤,格式化...基本上我只能选择单元格了。
有任何建议请问如何仅冻结TextBox并保持其余的单元格不受保护?
非常感谢你。
答案 0 :(得分:1)
worksheet.protect
方法有许多参数允许/禁止用户执行某些操作。如果未在worksheet.protect
方法中指定,则大多数参数默认为禁止。请参阅此处以获取该方法所需参数的完整列表https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheet-protect-method-excel
也许尝试这样的事情:
Sub protect_TextBox()
ActiveSheet.Protect UserInterFaceOnly:=True, AllowFormattingCells:=True, _
AllowSorting:=True, AllowFiltering:=True
'rest of my code...
End Sub
您可以在链接上看到其他参数,并包含您需要的任何内容。请记住,参数的默认值为false。因此,如果您不包含它们,则会对用户可以对单元格执行的操作进行更多限制。