Skip to main content

Excel에서 다른 사용자에 대해 개별 워크시트를 보호하기 위해 암호를 설정하는 방법은 무엇입니까?

Author: Xiaoyang Last Modified: 2025-08-06

Excel에서는 서로 다른 워크시트에 대해 서로 다른 암호를 설정할 수 있습니다. 즉, 한 사용자는 하나의 암호를 사용하여 하나의 워크시트를 수정할 수 있고, 다른 사용자는 다른 암호를 사용하여 다른 워크시트를 수정할 수 있습니다. 하지만 때로는 각 사용자가 자신의 시트만 볼 수 있고 접근할 수 있기를 원할 수 있습니다. Excel에서 이를 해결할 수 있을까요?


각 워크시트를 개별적으로 보호하고 사용자의 워크시트 접근을 제한하려면 아래 VBA 코드를 적용하세요:

1. 새 통합 문서를 열고 '주'라는 이름의 새 시트를 만듭니다. 스크린샷을 참조하세요:

A screenshot of the Main sheet in Excel where the first worksheet is created

2. 그런 다음 "Alt" + "F11" 키를 눌러 "Microsoft Visual Basic for Applications" 창을 열고 왼쪽 "프로젝트-VBAProject" 창에서 "ThisWorkbook"을 두 번 클릭하여 빈 코드 모듈을 엽니다. 그런 다음 다음 VBA 코드를 코드 창에 복사하여 붙여넣으세요. 스크린샷을 참조하세요:

VBA 코드: 사용자별로 개별 시트를 보호하기 위한 암호 설정

Option Explicit
Dim gUserName As String
Dim gUserPass As String
Private Sub Workbook_Open()
'Updateby ExtendOffice
Dim xWShs As Sheets
Dim xWSh As Worksheet
Dim xUserName As String
Dim xPass As String
Dim xBolH As Boolean
GTINPUT:
xUserName = InputBox("Enter the user name")
If TypeName(xUserName) = "String" Then
    If xUserName = "" Then
        Exit Sub
    End If
End If
xUserName = LCase(xUserName)
xPass = InputBox("User name:" & xUserName & Chr(13) & Chr(10) & "Enter the password:")
If TypeName(xPass) = "String" Then
    If xPass = "" Then
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
    End If
Else
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
End If
Set xWShs = Worksheets
xBolH = False
For Each xWSh In Worksheets
    If xWSh.Name = xUserName Then
    xBolH = True
    Exit For
    End If
Next
If xBolH Then
Set xWSh = xWShs(xUserName)
On Error GoTo GTINPUT2
xWSh.Unprotect (xPass)
xWSh.Visible = True
xWSh.Activate
Else
Set xWSh = xWShs.Add
xWSh.Name = xUserName
xWSh.Activate
End If
gUserName = xUserName
gUserPass = xPass
Exit Sub
GTINPUT2:
    MsgBox "The password is incorrect, please enter the user name and password again."
    GoTo GTINPUT
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xWSh As Worksheet
On Error Resume Next
Set xWSh = Worksheets(gUserName)
xWSh.Protect Password:=gUserPass, DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
For Each xWSh In Worksheets
    If xWSh.Name <> "Main" Then
        xWSh.Visible = xlSheetVeryHidden
    End If
Next xWSh
ActiveWorkbook.Save
End Sub

A screenshot of the Visual Basic for Applications window with the VBA code to set passwords for individual sheets

3. 그런 다음 "Private Sub Workbook_Open()" 스크립트의 끝에 커서를 놓고 "F5" 키를 눌러 이 코드를 실행합니다. 이제 나타난 프롬프트 상자에서 해당 사용자를 위해 시트를 생성하려는 사용자 이름을 입력하세요. 스크린샷을 참조하세요:

A screenshot of the prompt box asking for a user name to create a new sheet in Excel

4. 그리고 "확인" 버튼을 클릭하면 다음 프롬프트 상자에서 이 시트를 보호하기 위한 암호를 입력하세요. 스크린샷을 참조하세요:

A screenshot of the prompt box asking for a password to protect the newly created sheet in Excel

5. 계속해서 "확인" 버튼을 클릭하면 사용자 이름으로 명명된 새로운 시트가 즉시 생성되며, 필요에 따라 해당 사용자에 대한 데이터를 작성할 수 있습니다. 스크린샷을 참조하세요:

A screenshot of the newly created sheet named after the user in Excel

6. 위의 3단계 - 5단계를 반복하여 원하는 다른 시트를 하나씩 생성하세요.

7. 시트를 모두 생성한 후에는 "파일" > "다른 이름으로 저장"을 클릭하여 현재 통합 문서를 저장하세요. "다른 이름으로 저장" 대화 상자에서 파일 이름을 지정하고 "저장 형식 지정" 드롭다운 목록에서 "매크로 사용 가능 통합 문서 (*.xlsm)" 형식을 선택하세요. 스크린샷을 참조하세요:

A screenshot of the Save As dialog box in Excel, showing the Save as type dropdown list for Excel Macro-Enabled Workbook (*.xlsm)

8. 그런 다음 "저장" 버튼을 클릭하여 이 파일을 저장하세요.

9. 그리고 통합 문서를 닫았다가 다시 열고, 수식 표시줄 상단의 "콘텐츠 사용"을 클릭하여 코드를 활성화하세요.

A screenshot of the Enable Content button in Excel to activate the VBA code

10. 이제 특정 사용자가 특정 시트를 열기 위해 사용자 이름과 암호를 입력하라는 메시지 상자가 나타납니다.

11. 마지막으로, 이 통합 문서를 다른 사용자에게 보내기 전에 사용자 이름과 비밀번호를 해당 사용자에게 보내야 합니다. 그들은 자신들의 시트만 열어보고 수정할 수 있으며, 다른 워크시트를 볼 권한은 없습니다.

최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!