2012-09-27 7 views
2

비밀번호가있는 시트가 있습니다. 하지만 vba 코드에서 일부 데이터를 추가해야합니다. 어떻게해야합니까? 어쩌면 내가 암호를 재설정 할 수 있습니다, 다음 데이터를 추가하고 나는 간단한 암호 코드가 작동을 사용하면 다시비밀번호로 보호 된 시트에 데이터 추가

Me.Parent.Worksheets("Sheet1").Unprotect 111 

Me.Parent.Worksheets("Sheet1").Protect Password:=111, DrawingObjects:=True, Contents:=True, Scenarios:=True 

을 설정할하지만 통과 설정 한 경우 : pass111111 - 오류 잘못된 암호

+1

암호는 숫자가 아닌 문자열입니다. – SeanC

+0

'Password : = 111 '대신'Password : = "111"'을 사용하십시오. – enderland

답변

2

그것은 쉽게이있다 : 이미 Password = 111로 보호하도록 설정 한 경우

sub Protect_Sheet() 
Thisworkbook.Sheets(1).Unprotect Password:="Password" 

'Do something 

Thisworkbook.Sheets(1).Protect Password:="Password" 

End Sub 
+0

감사하지만 단순한 암호 (예 : 111)에서만 작동하지만 pass111111을 시도하면 오류가 있습니다. – revolutionkpi

+0

내 질문을 업데이트했습니다. – revolutionkpi

+0

비밀 번호 : = 11111 (?) – Trace

0

당신이 암호로 보호를 해제해야합니다, 당신은 다음 새 암호로 reprotect 수 있습니다

 Me.Parent.Worksheets("Sheet1").Unprotect Password:="111" 

     Me.Parent.Worksheets("Sheet1").Protect Password:="pass111111", DrawingObjects:=True, Contents:=True, Scenarios:=True 

이것이 내가 설명 할 수있는 유일한 이유입니다. 도시 한 바와 같이 사용자 인터페이스를 보호하기 위

2

나는 워크 시트 보호하기 위해

Sub ProtectSheet() 
    Sheets("Sheet1").Protect Password:="111111", _ 
    Contents:=True, userInterfaceOnly:=True 
End Sub 

당신이 True로 설정 UserInterfaceOnly 인수를 보호 방법을 사용 userInterfaceOnly:=True의 사용이 코드를 제안 그러나 매크로는 아닙니다. 따라서 매크로에서 데이터를 추가하기 위해 시트를 UnProtect 할 필요가 없습니다. 직접 작업을 수행 할 수 있습니다. 예 :

Sub ProtectSheet() 
    Sheets("Sheet1").Protect Password:="111111", _ 
    Contents:=True, userInterfaceOnly:=True 

    Sheets("Sheet1").Range("A1").Value = "Hello World!" 
End Sub 
+1

'UserInterfaceOnly' - Handy에 대해 몰랐습니다. +1 –