要保护工作表但允许输入值,可以使用以下代码示例:
Sub ProtectWorksheetAllowInput()
' 取消保护工作表(如果已保护)
ActiveSheet.Unprotect
' 设置工作表保护选项
With ActiveSheet.Protect
.AllowInsertingRows = True ' 允许插入行
.AllowDeletingRows = True ' 允许删除行
.AllowSorting = True ' 允许排序
.AllowFiltering = True ' 允许筛选
.AllowUsingPivotTables = True ' 允许使用数据透视表
.AllowUserInterfaceOnly = True ' 仅允许用户界面操作(禁止VBA代码操作)
End With
End Sub
这段代码将会取消当前活动工作表的保护(如果已保护),然后设置一些工作表保护选项,以允许插入行、删除行、排序、筛选和使用数据透视表等操作。此外,还将设置AllowUserInterfaceOnly
为True
,这将只允许用户界面操作,并禁止通过VBA代码进行修改。
你可以将这段代码复制到Excel VBA编辑器中的一个模块中,然后运行ProtectWorksheetAllowInput
子过程来保护工作表但允许输入值。