0
我正在編寫一個宏,在主菜單中有一個按鈕來訪問「Admin」工作表,您可以在其中進行重要更改。我只想要某些用戶訪問此管理工作表,並且我想知道是否有辦法密碼保護查看工作表,而不僅僅是修改它。防止用戶查看Excel工作表
我正在編寫一個宏,在主菜單中有一個按鈕來訪問「Admin」工作表,您可以在其中進行重要更改。我只想要某些用戶訪問此管理工作表,並且我想知道是否有辦法密碼保護查看工作表,而不僅僅是修改它。防止用戶查看Excel工作表
你可以做這樣的事情:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Update 20140925
Dim xSheetName As String
xSheetName = "Sheet1"
If Application.ActiveSheet.Name = xSheetName Then
Application.EnableEvents = False
Application.ActiveSheet.Visible = False
xTitleId = "KutoolsforExcel"
response = Application.InputBox("Password", xTitleId, "", Type:=2)
If response = "123456" Then
Application.Sheets(xSheetName).Visible = True
Application.Sheets(xSheetName).Select
End If
End If
Application.Sheets(xSheetName).Visible = True
Application.EnableEvents = True
End Sub
這實際上將創建一個密碼保護的工作表纔可以看到,如果提供的密碼是正確的。 這個答案來自http://www.extendoffice.com/documents/excel/2134-excel-password-protect-hidden-sheet.html#a1
缺點是,如果你的用戶足夠精明的進入代碼,你的密碼是純文本的。當然,如果你試圖抵禦他們,他們會進入密碼和陋習來解決密碼保護問題。 – FreeMan
如果用戶足夠精明,用一個簡單的模塊,他們可能會在工作簿上造成嚴重破壞,如果他們願意的話。任何針對OP問題的VBA解決方案都不可避免地會有一個密碼,任何查看代碼的人都可能知道。 – BGeorge
正如我所說... :) – FreeMan