Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA代码取消工作表保护在MS EXCEL中不适用于活动X控件_Excel_Vba - Fatal编程技术网

使用VBA代码取消工作表保护在MS EXCEL中不适用于活动X控件

使用VBA代码取消工作表保护在MS EXCEL中不适用于活动X控件,excel,vba,Excel,Vba,我已经在我的工作表中实现了智能下拉菜单(使用Active X控件),因此,由于我的工作表受到保护,此功能无法工作,因为受到保护。当我在工作表上手动右键单击并提供密码取消对其的保护时,它会工作。我不希望用户手动执行此操作,我希望当用户打开工作表时,工作表应使用VBA代码解除保护。 此外,工作表中的整个单元格都已锁定(格式单元格->保护->锁定标记),我无法取消锁定标记,因为有些验证失败,不允许我上载此类模板。 我试了一些样品,但不起作用。谁能帮我一下吗。 下面是我正在尝试的示例,因为我不能在这里共

我已经在我的工作表中实现了智能下拉菜单(使用Active X控件),因此,由于我的工作表受到保护,此功能无法工作,因为受到保护。当我在工作表上手动右键单击并提供密码取消对其的保护时,它会工作。我不希望用户手动执行此操作,我希望当用户打开工作表时,工作表应使用VBA代码解除保护。 此外,工作表中的整个单元格都已锁定(格式单元格->保护->锁定标记),我无法取消锁定标记,因为有些验证失败,不允许我上载此类模板。 我试了一些样品,但不起作用。谁能帮我一下吗。 下面是我正在尝试的示例,因为我不能在这里共享实际的应用程序代码

VBA中的代码如下所示 写在sheet1->工作表的名称为“tab0”

在这个工作簿里我有这个

私有子工作簿_Open() ThisWorkbook.UnProtect Password=“Password”
End Sub

您应该能够保护工作表中的所有单元格,但不能保护某些单元格。选择所有单元格,单击鼠标右键,设置单元格格式,选择“保护”选项卡,选中“锁定”。选择希望用户能够编辑的单元格,单击鼠标右键,设置单元格格式,选择“保护”选项卡,取消选中“锁定”。然后保护床单。解锁的单元格保持可编辑状态。这已实现,但仍未实现working@garbb所有单元格都已锁定,如果我尝试解锁任何单元格并尝试在应用程序中上载此类模板,则会出现“以下单元格已解锁”的错误此模板上载有一定的验证。请将取消工作表保护的代码放入
私有子工作簿\u Open()
?@garbb是的,我也在其中添加了取消工作表保护的代码
Private Sub Worksheet_BeforeDoubleClick _
  (ByVal Target As Range, _
    Cancel As Boolean)
Dim str As String
Dim cboTemp As OLEObject
Dim ws As Worksheet
Set ws = ActiveSheet

ws.Unprotect Password:="xxx"