Excel에서 다른 사용자에 대해 개별 워크시트를 보호하기 위해 암호를 설정하는 방법은 무엇입니까?
Excel에서는 서로 다른 워크시트에 대해 서로 다른 암호를 설정할 수 있습니다. 즉, 한 사용자는 하나의 암호를 사용하여 하나의 워크시트를 수정할 수 있고, 다른 사용자는 다른 암호를 사용하여 다른 워크시트를 수정할 수 있습니다. 하지만 때로는 각 사용자가 자신의 시트만 볼 수 있고 접근할 수 있기를 원할 수 있습니다. Excel에서 이를 해결할 수 있을까요?
각 워크시트를 개별적으로 보호하고 사용자의 워크시트 접근을 제한하려면 아래 VBA 코드를 적용하세요:
1. 새 통합 문서를 열고 '주'라는 이름의 새 시트를 만듭니다. 스크린샷을 참조하세요:
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
3. 그런 다음 "Private Sub Workbook_Open()" 스크립트의 끝에 커서를 놓고 "F5" 키를 눌러 이 코드를 실행합니다. 이제 나타난 프롬프트 상자에서 해당 사용자를 위해 시트를 생성하려는 사용자 이름을 입력하세요. 스크린샷을 참조하세요:
4. 그리고 "확인" 버튼을 클릭하면 다음 프롬프트 상자에서 이 시트를 보호하기 위한 암호를 입력하세요. 스크린샷을 참조하세요:
5. 계속해서 "확인" 버튼을 클릭하면 사용자 이름으로 명명된 새로운 시트가 즉시 생성되며, 필요에 따라 해당 사용자에 대한 데이터를 작성할 수 있습니다. 스크린샷을 참조하세요:
6. 위의 3단계 - 5단계를 반복하여 원하는 다른 시트를 하나씩 생성하세요.
7. 시트를 모두 생성한 후에는 "파일" > "다른 이름으로 저장"을 클릭하여 현재 통합 문서를 저장하세요. "다른 이름으로 저장" 대화 상자에서 파일 이름을 지정하고 "저장 형식 지정" 드롭다운 목록에서 "매크로 사용 가능 통합 문서 (*.xlsm)" 형식을 선택하세요. 스크린샷을 참조하세요:
8. 그런 다음 "저장" 버튼을 클릭하여 이 파일을 저장하세요.
9. 그리고 통합 문서를 닫았다가 다시 열고, 수식 표시줄 상단의 "콘텐츠 사용"을 클릭하여 코드를 활성화하세요.
10. 이제 특정 사용자가 특정 시트를 열기 위해 사용자 이름과 암호를 입력하라는 메시지 상자가 나타납니다.
11. 마지막으로, 이 통합 문서를 다른 사용자에게 보내기 전에 사용자 이름과 비밀번호를 해당 사용자에게 보내야 합니다. 그들은 자신들의 시트만 열어보고 수정할 수 있으며, 다른 워크시트를 볼 권한은 없습니다.
최고의 오피스 생산성 도구
? | Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 함수 호출을 기반으로 데이터 분석 혁신… |
인기 기능: 중복 찾기, 강조 또는 식별 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 결합 | 수식 없이 반올림 ... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 빠르게 드롭다운 목록 만들기 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록 .... | |
열 관리자: 특정 개수의 열 추가 | 열 이동 | 숨겨진 열의 가시성 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 및 시트 관리자 | 자동 텍스트 라이브러리 (Auto Text) | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵은 글꼴/이탤릭체/취소선 필터링...) ... | |
최고의 15가지 도구 모음: 12개의 텍스트 도구 (텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형 (간트 차트, ...) | 40+ 실용적인 수식 (생일을 기반으로 나이 계산, ...) | 19개 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구 (단어로 변환하기, 통화 변환, ...) | 7개 병합 및 분할 도구 (고급 행 병합, 셀 분할, ...) | ... 그리고 더 많은 기능들 |
Kutools for Excel로 엑셀 스킬을 강화하고 지금까지 경험하지 못한 효율성을 체험하세요. Kutools for Excel은 생산성을 향상시키고 시간을 절약할 수 있는 300개 이상의 고급 기능을 제공합니다. 가장 필요한 기능을 얻으려면 여기를 클릭하세요...
Office Tab은 탭 인터페이스를 Office에 제공하여 작업을 훨씬 쉽게 만듭니다.
- Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화하세요.
- 새 창 대신 동일한 창의 새 탭에서 여러 문서를 열고 생성하세요.
- 생산성을 50% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!