locking文本框在工作表中移动和resize,只编辑文本Excel VBA
我在vba中创build一个TextBox,用户input一个值然后在表单中search它,就像你在这里看到的那样
我的问题是我想locking这个文本框移动,用户可以编辑框中的文本。 我正在尝试属性,并选中“locking”,并取消选中“locking文本”,然后保护表
Sub protect_TextBox() ActiveSheet.Protect UserInterFaceOnly:=True 'rest of my code... End Sub
它locking我的TextBox移动和resize,用户只能编辑里面的文本
但它也locking了许多function,如过滤,格式化…基本上我可以只select单元格。
任何build议,请如何冻结仅文本框,并保持其余细胞不受保护?
非常感谢你。
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。 所以如果你不包含它们,那么对用户可以对单元格做什么的限制就会更多。