반응형
엑셀 시트 보호가 뭔가요?
엑셀에서는 실수로 수식을 지우거나 서식을 바꾸지 못하도록 "시트 보호" 기능을 사용할 수 있어요. 그런데 가끔 암호를 잊거나 다른 사람이 설정한 보호로 인해 편집이 필요한 시트를 열 수 없는 상황이 생기죠.
이럴 때 유용한 도구가 바로 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를 이용해 보호를 해제하는 건 도덕적·법적 이슈가 따를 수 있어요. 회사 또는 타인의 파일이라면 반드시 정당한 권한을 확보한 후에 접근해야 하며, 무단으로 잠금 해제를 시도하는 건 불법이 될 수 있습니다.
💻 매크로 작성 및 실행 방법
- Alt + F11을 눌러 VBA 편집기 열기
- Insert > Module을 클릭해 새 모듈 추가
- 위의 코드를 붙여넣기
- F5 또는 Run 버튼으로 실행
✅ 매크로 실행 후 확인할 것
- 보호가 해제되었는지 각 시트의 셀을 클릭해서 확인하세요.
- 해제 후에는 원래 보호 설정이 있었다면 재설정을 고려해야 합니다.
📌 마무리 팁
- 시트를 다시 보호하려면 .Protect 메서드를 사용하면 됩니다:
- ws.Protect Password:="1234"
- 민감한 데이터를 다루는 파일이라면 보호 및 해제 기록을 함께 관리하는 것이 좋습니다.
반응형