使用键盘快捷键后,Unprotect方法失败

时间:2012-10-19 14:53:21

标签: excel excel-vba vba

我有以下代码调用几个不同的子代码:

Sub DropDown2_Change()
 'Packtype/Brand-packtype change
  Sheets("planning interface").unprotect
  Application.ScreenUpdating = False
  Call clear_data
  If Sheets("load").range("Q1") = True Then
    packtypeform.Show
  End If
  If Sheets("load").range("Q1") = False Then
    brandpacktypeform.Show
  End If
  Call formatting
  With Sheets("planning interface")
    .Protect
    .EnableSelection = xlUnlockedCells
  End With
  application.screenupdating = true
End Sub

除非我按ctrl+shift+pageup(或向下翻页)在我正在查看的工作表之间切换并返回带有下拉列表的工作表,否则效果很好。

我得到Run-time error '1004': Unprotect method of worksheet class failed是否有一个已知的原因,为什么使用ctrl+shift+pageup切换工作表会破坏我拥有的非保护代码?

1 个答案:

答案 0 :(得分:0)

CTRL + SHIFT + PGUP用于选择工作表,而不是它们之间的选项卡 - 所以当您实际选择多个工作表时,您可以选择它。

当您运行代码时,您选择了多个工作表,这会阻止您保护它。

您可以使用CTRL + PGUP在工作表之间切换