2011-03-01 43 views
0

我以前从未见过这样的事情。我用这个代码来设置密码Excel VBA密码保护出现中断

Impact_Chart.Unprotect Password:="********" 

With Impact_Chart 
    .Range("A19:N19").Locked = False 

    .Shapes("Button 36").Locked = False 
    .Shapes("Button 19").Locked = False 
    .Shapes("Button 37").Locked = False 
    .Shapes("Button 38").Locked = False 
    .Protect Password:="********", Userinterfaceonly:=True 
    .Protect AllowInsertingRows = True, AllowFormattingCells:=True, AllowSorting:=True 
End With 

我遇到的是,设置密码,然后保存工作簿后,当我回来后的密码不再有效的问题。我必须使用密码破解器来取消保护表格。

有没有人有任何信息?我一直在谷歌搜索,似乎无法找到答案。

+0

的进一步信息。工作簿中的另一张工作表使用相同的密码进行保护,但它被完全锁定并已使用功能区上的命令锁定。此工作表的行为如预期。任何线索呢?因为我出去了... – CABecker

回答

0

我试过你的代码,它开始奇怪的行为 - 我认为这是因为最后两行被分解到两个单独的行。如果将它们合并,那么事情应该正常工作,因为我相信一旦保护了工作表,就不能再修改保护参数。

尝试下面的代码,而不是:

Impact_Chart.Unprotect Password:="********" 

With Impact_Chart 
    .Range("A19:N19").Locked = False 

    .Shapes("Button 36").Locked = False 
    .Shapes("Button 19").Locked = False 
    .Shapes("Button 37").Locked = False 
    .Shapes("Button 38").Locked = False 
    .Protect Password:="********", Userinterfaceonly:=True, AllowInsertingRows:=True, AllowFormattingCells:=True, AllowSorting:=True 
End With