将数据添加到受密码保护的工作表
我有一张带密码的表格。 但是我需要从vba代码中添加一些数据。 我怎样才能做到这一点? 也许我可以重置密码,然后添加数据,然后重新设置
Me.Parent.Worksheets("Sheet1").Unprotect 111 Me.Parent.Worksheets("Sheet1").Protect Password:=111, DrawingObjects:=True, Contents:=True, Scenarios:=True
当我使用简单的密码,代码的作品,但如果我设置pass:pass111111 – 有一个错误的密码错误
这很容易:
sub Protect_Sheet() Thisworkbook.Sheets(1).Unprotect Password:="Password" 'Do something Thisworkbook.Sheets(1).Protect Password:="Password" End Sub
我会build议这个代码来保护你的工作表
Sub ProtectSheet() Sheets("Sheet1").Protect Password:="111111", _ Contents:=True, userInterfaceOnly:=True End Sub
注意userInterfaceOnly:=True
的使用userInterfaceOnly:=True
如上所示,如果将UserInterfaceOnly
参数设置为True
,使用Protect方法,则保护用户界面而不保护macros。 所以你不需要UnProtect工作表从macros中添加数据。 您可以直接使用它执行操作。 例如
Sub ProtectSheet() Sheets("Sheet1").Protect Password:="111111", _ Contents:=True, userInterfaceOnly:=True Sheets("Sheet1").Range("A1").Value = "Hello World!" End Sub
如果您已将其设置为使用Password = 111
进行保护,则必须使用该密码取消保护,然后可以使用新密码重新进行保护:
Me.Parent.Worksheets("Sheet1").Unprotect Password:="111" Me.Parent.Worksheets("Sheet1").Protect Password:="pass111111", DrawingObjects:=True, Contents:=True, Scenarios:=True
这是我能想到解释这一点的唯一原因。