메인 컨텐츠로 가기

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

저자: 샤오양 최종 수정 날짜: 2024-12-05

Excel에서는 시트마다 다른 암호를 설정할 수 있습니다. 즉, 한 사용자는 하나의 암호를 사용하여 한 워크시트를 변경할 수 있고 다른 사용자는 다른 암호를 사용하여 다른 워크시트를 변경할 수 있습니다. 그러나 때로는 각 사용자가 자신의 시트만 보고 액세스할 수 있기를 원할 수도 있습니다. 엑셀에서 해결이 가능한가요?


각 워크시트를 개별적으로 보호하고 사용자의 워크시트 액세스를 제한하려면 아래 VBA 코드를 적용하십시오.

1. 새 통합 문서를 열고 "Main"이라는 새 시트를 만듭니다(스크린샷 참조).

첫 번째 워크시트가 생성되는 Excel의 Main 시트 스크린샷

2. 그런 다음, Alt + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창, 더블 클릭 이 워크북 왼쪽에서 프로젝트 -VBAProject 창에서 빈 코드 모듈을 연 다음 다음 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

개별 시트에 대한 암호를 설정하기 위한 VBA 코드가 있는 Visual Basic for Applications 창의 스크린샷

3. 그런 다음 커서를 끝 부분에 놓습니다. 개인 서브 Workbook_Open () 스크립트를 누르고 F5 이 코드를 실행하는 키입니다. 이제 팝업된 프롬프트 상자에 이 사용자에 대한 시트를 만들 사용자 이름을 입력합니다(스크린샷 참조).

Excel에서 새 시트를 만들기 위해 사용자 이름을 묻는 프롬프트 상자의 스크린샷

4. 그런 다음 OK 버튼을 누르고 다음 프롬프트 상자에 이 시트를 보호하기 위한 암호를 입력합니다(스크린샷 참조).

Excel에서 새로 만든 시트를 보호하기 위한 비밀번호를 요청하는 프롬프트 상자의 스크린샷

5. 클릭으로 이동 OK 버튼을 누르면 사용자 이름으로 명명된 새 시트가 한 번에 생성되며 필요에 따라 해당 사용자에 대한 데이터를 생성할 수 있습니다. 스크린샷 참조:

Excel에서 사용자 이름을 딴 새로 생성된 시트의 스크린샷

6. 사용하려는 다른 시트를 하나씩 생성하려면 위의 3-5 단계를 반복하십시오.

7. 시트를 만든 후 다음을 클릭하여 현재 통합 문서를 저장합니다. 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 > 다른 이름으로 저장., 에서 다른 이름으로 저장 대화 상자에서 파일 이름을 지정한 다음 Excel 매크로 사용 통합 문서 (* .xlsm) 형식 형식으로 저장 드롭 다운 목록, 스크린 샷 참조 :

Excel의 다른 이름으로 저장 대화 상자 스크린샷. Excel 매크로 사용 통합 문서(*.xlsm)에 대한 파일 형식 드롭다운 목록이 표시됨

8. 그런 다음 저장 버튼을 클릭하여 이 파일을 저장합니다.

9. 그런 다음 통합 문서를 닫고 다시 연 다음 콘텐츠 사용 수식 입력줄 상단에서 코드를 활성화하려면 스크린샷을 참조하세요.

VBA 코드를 활성화하기 위한 Excel의 콘텐츠 사용 버튼 스크린샷

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

11. 마지막으로 이 통합 문서를 다른 사용자에게 보낼 때 사용자 이름과 암호를 사용자에게 보내야 합니다. 자신의 시트만 열고 편집할 수 있으며 다른 워크시트를 볼 수 있는 권한이 없습니다.

최고의 사무 생산성 도구

🤖 Kutools AI 보좌관: 다음을 기반으로 데이터 분석을 혁신합니다. 지능형 실행   |  코드 생성  |  사용자 정의 수식 만들기  |  데이터 분석 및 차트 생성  |  Kutools 기능 호출...
인기 기능: 중복 항목 찾기, 강조 표시 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열이나 셀 결합   |   수식없이 반올림 ...
슈퍼 조회: 다중 기준 VLookup    다중 값 VLookup  |   여러 시트에 걸친 VLookup   |   퍼지 조회 ....
고급 드롭다운 목록: 드롭다운 목록을 빠르게 생성   |  종속 드롭다운 목록   |  다중 선택 드롭 다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  Toggle 숨겨진 열의 가시성 상태  |  범위 및 열 비교 ...
특색 지어진 특징: 그리드 포커스   |  디자인보기   |   큰 수식 바    통합 문서 및 시트 관리자   |  자료실 (자동 텍스트)   |  날짜 선택기   |  워크 시트 결합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵게/기울임꼴/취소선 필터링...) ...
상위 15개 도구 세트12 본문 도구 (텍스트 추가, 문자 제거,...)   |   50+ 거래차트 유형 (Gantt 차트,...)   |   40+ 실용 방식 (생일을 기준으로 나이 계산,...)   |   19 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입,...)   |   12 매출 상승 도구 (숫자를 단어로, 환율,...)   |   7 병합 및 분할 도구 (고급 결합 행, 셀 분할,...)   |   ... 그리고 더

Excel용 Kutools로 Excel 기술을 강화하고 이전과는 전혀 다른 효율성을 경험해 보세요. Excel용 Kutools는 생산성을 높이고 시간을 절약하기 위해 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하십시오...


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

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!