본문 바로가기
카테고리 없음

엑셀 시트 보호 해제, VBA 매크로로 간단하게 해결하는 법

by bystepby 2025. 6. 30.
반응형

엑셀 시트 보호가 뭔가요?

엑셀에서는 실수로 수식을 지우거나 서식을 바꾸지 못하도록 "시트 보호" 기능을 사용할 수 있어요. 그런데 가끔 암호를 잊거나 다른 사람이 설정한 보호로 인해 편집이 필요한 시트를 열 수 없는 상황이 생기죠.

이럴 때 유용한 도구가 바로 VBA 매크로입니다.


⚙️ VBA로 시트 보호를 해제하는 기본 코드

엑셀 VBA에는 각 시트의 .Protect와 .Unprotect 메서드를 통해 보호 설정을 관리할 수 있어요. 다음은 시트 보호를 해제하는 아주 간단한 매크로 코드입니다:

Sub UnprotectSheet()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Sheets
        ws.Unprotect Password:="비밀번호"
    Next ws
End Sub

코드 설명:

  • For Each ws In ThisWorkbook.Sheets: 현재 열려 있는 엑셀 파일의 모든 시트를 하나씩 순회합니다.
  • ws.Unprotect Password:="비밀번호": 각 시트에 설정된 비밀번호를 입력하여 보호를 해제합니다.

주의! 반드시 해당 시트에 설정된 정확한 비밀번호를 알아야 이 매크로가 작동합니다.


🧩 비밀번호를 모르는 경우는?

비밀번호를 모르는 상태에서 VBA를 이용해 보호를 해제하는 건 도덕적·법적 이슈가 따를 수 있어요. 회사 또는 타인의 파일이라면 반드시 정당한 권한을 확보한 후에 접근해야 하며, 무단으로 잠금 해제를 시도하는 건 불법이 될 수 있습니다.


💻 매크로 작성 및 실행 방법

  1. Alt + F11을 눌러 VBA 편집기 열기
  2. Insert > Module을 클릭해 새 모듈 추가
  3. 위의 코드를 붙여넣기
  4. F5 또는 Run 버튼으로 실행

✅ 매크로 실행 후 확인할 것

  • 보호가 해제되었는지 각 시트의 셀을 클릭해서 확인하세요.
  • 해제 후에는 원래 보호 설정이 있었다면 재설정을 고려해야 합니다.

📌 마무리 팁

  • 시트를 다시 보호하려면 .Protect 메서드를 사용하면 됩니다:
  • ws.Protect Password:="1234"
  • 민감한 데이터를 다루는 파일이라면 보호 및 해제 기록을 함께 관리하는 것이 좋습니다.

 

반응형