Skip to main content

Kutools for Office — 하나의 패키지. 다섯 가지 도구. 더 많은 일을 처리하세요.

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

Author Xiaoyang Last modified

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

Kutools for Excel과 함께 엑셀 능력을 한 단계 끌어 올리고, 이전에 없던 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능으로 생산성을 높이고 저장 시간을 단축합니다.  가장 필요한 기능을 바로 확인하려면 여기를 클릭하세요...


Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 더욱 간편하게 만듭니다

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화합니다.
  • 새 창 대신 같은 창의 새로운 탭에서 여러 파일을 열고 생성할 수 있습니다.
  • 생산성이50% 증가하며, 매일 수백 번의 마우스 클릭을 줄여줍니다!

모든 Kutools 추가 기능. 한 번에 설치

Kutools for Office 제품군은 Excel, Word, Outlook, PowerPoint용 추가 기능과 Office Tab Pro를 한 번에 제공하여 Office 앱을 활용하는 팀에 최적입니다.

Excel Word Outlook Tabs PowerPoint
  • 올인원 제품군 — Excel, Word, Outlook, PowerPoint 추가 기능 + Office Tab Pro
  • 설치 한 번, 라이선스 한 번 — 몇 분 만에 손쉽게 설정(MSI 지원)
  • 함께 사용할 때 더욱 효율적 — Office 앱 간 생산성 향상
  • 30일 모든 기능 사용 가능 — 회원가입/카드 불필요
  • 최고의 가성비 — 개별 추가 기능 구매 대비 절약