2013-03-20 7 views
1

엑셀 워크 시트의 보호 상태를 해당 워크 시트의 셀로 전달할 수 있는지 궁금합니다. 예 :Excel 워크 시트의 보호 상태를 셀에 전달하십시오.

  • Sheet1의 편집을 위해 잠겨 ... 세포 A1말하도록 프로그램 될 수
  • Sheet1의 잠금이 해제 "고정"... 세포 A1는을 "잠금 해제"말할 것입니다.

시트의 단추는 워크 시트 보호를 설정 및 해제하는 데 사용됩니다.

내 시트는 workbook_open 이벤트를 사용하여 열 때 잠길 수 있습니다.

이것은 시트를 사용하기 때문에 수식을 모두 사용하지 못하게하지만 전체 액세스가 필요할 수 있습니다. 사용자에게 "잠금 해제"모드에 있다는 것을 상기시켜줌으로써 더욱 조심해야합니다.

VBA를 사용하고 있습니까?

나는 VBA 멍청한 놈이야하지만

어떤 생각을위한 솔루션으로 코드를 사용하여 괜찮다이나 제안은에서 알림을 배치합니다 워크 시트의 코드 모듈에 넣고

답변

1

이 단순히

Const strPAss = "test" 

Private Sub CommandButton1_Click() 
If ActiveSheet.ProtectContents Then 
ActiveSheet.Unprotect strPAss 
[a1].Value = "unlocked" 
Else 
[a1].Value = "locked" 
ActiveSheet.Protect strPAss 
End If 
End Sub 
할 Sheet1의 액티브 버튼에 코드를 사용할 수
+0

고마워, brettdj - 내 요구 사항에 맞게 작동합니다. ActiveX 컨트롤을 사용하면 해당 컨트롤과 함께 사용되는 VBA 코드에 영향을 미칩니 까? – JohnM

1

을 환영합니다 상태 표시 줄 (셀 A1에 상태를 기록하기 위해 시트 잠금/잠금 해제 필요 없음).

Sheet1 코드 모듈에 넣으십시오. sheet1이 활성화 될 때마다 매크로가 실행됩니다.

Private Sub Worksheet_Activate() 
If ActiveSheet.ProtectContents then 
    Application.StatusBar = "This sheet is protected" 
Else: 
    Application.StatusBar = "This sheet is unprotected" 
End If 
End Sub 

Private Sub Worksheet_Deactivate() 
    Application.StatusBar = False 
End Sub 

은 당신이 삽입> 모듈이를 추가 할 수 워크 시트 보호를 해제/보호 할 수 있습니다. 그런 다음 이러한 매크로를 연결하여 명령 단추를 분리하거나 개발자> 매크로 리본에서 실행하십시오.

Const myPassword as String = "password" '<-- replace "password" with your password 

Sub Sht1Protect() 
    Sheet1.Protect myPassword 
End Sub 

Sub Sht1Unprotect() 
    Sheet1.Unprotect myPassword 
End Sub 

시트가 항상 파일을 닫을 때, 당신은 파일이 저장되어 있는지 여부 /를 제어하기 위해 추가적인 처리를해야 할 수도 있습니다

Private Sub Workbook_Close() 
    Sht1Protect 
End Sub 

통합 문서 코드 모듈이 삽입 보호를 보장하기 위해 저장 등

+0

감사합니다 David - some noob questions ... 나는 이것을 sheet1의 코드 모듈에 삽입하거나 삽입 모듈을 삽입하고 있습니까? 나는 그것을 둘 다 넣었고 VBA 편집기에서 그것을 밟았습니다. 매크로로 단추에 링크 될 수 있습니까? 아니면 기본 내장 보호 워크 시트 토글을 사용합니까? 완료되면 자동으로 보호/비보호 업데이트하도록 할 수 있습니까? – JohnM

+0

안녕하세요 @ 존 메이드, 내 수정 버전을 확인하십시오. –

+0

데이비드에게 감사드립니다. 제 작품을 구현하는 동안 사용자에게 상태를보다 분명하게 보이도록 셀을 포맷 할 수 있기를 원합니다. – JohnM

관련 문제