用VBA設(shè)置工作表使用權(quán)限的步驟

2021-12-08 11:57 更新

一般保護(hù)工作表采取的方法是用 EXCEL 菜單中的"保護(hù)"命令,有時(shí)候這還不夠,比如一些機(jī)密文件要讓某些使用者完全無法看到,但又需要他來操作工作簿中的其他表,應(yīng)該怎么辦呢?


此時(shí)可以打開 VBA 編輯器,打開"工程資源管理器",雙擊該工作表,現(xiàn)在出現(xiàn)的是設(shè)置該表的屬性的編輯窗口,單擊窗口左上的下拉列表框,選擇 worksheet ,這時(shí)再?gòu)脑摯翱谟疑戏降牧斜砜蛑羞x擇Active("激活"),這時(shí)自動(dòng)顯示如下的語(yǔ)句塊:


Private Sub Worksheet_Activate()


End Sub


在其中加入代碼:(假設(shè)用"123"作為密碼,Sheet"機(jī)密文檔"為限制權(quán)限文檔,sheet"普通文檔"為工作簿中你認(rèn)為任何適合的工作表)



If Application.InputBox("請(qǐng)輸入操作權(quán)限密碼:") = 123 Then

Range("A1").Select

Else

Msgbox "密碼錯(cuò)誤,即將退出!"

Sheets("普通文檔").Select

End if



程序如下:


Private Sub Worksheet_Activate()

If Application.InputBox("請(qǐng)輸入操作權(quán)限密碼:") = 123 Then

Range("A1").Select

Else

MsgBox "密碼錯(cuò)誤,即將退出!"

Sheets("普通文檔").Select

End If

End Sub


這樣做仍有一個(gè)問題,就是越權(quán)使用者仍會(huì)看到一些文件的片段,即在提示密碼的那段時(shí)間。



好,你可以這樣做,用上述方法選擇工作表的Deactivate事件,輸入以下代碼:

Sheets("機(jī)密文檔").Cells.Font.ColorIndex = 2



這段程序使得此工作表在不被激活時(shí),所有文字為白色。然后,在第一個(gè)程序中的Range("A1").Select后插入一行,寫入以下代碼:


ActiveSheet.Cells.Font.ColorIndex = 56


這段程序,在你輸入正確密碼后,將該表所有文字轉(zhuǎn)變?yōu)樯罨疑?/p>


表格權(quán)限

完整的程序如下:

Private Sub Worksheet_Activate()

If Application.InputBox("請(qǐng)輸入操作權(quán)限密碼:") = 123 Then

Range("A1").Select

Sheets("機(jī)密文檔").Cells.Font.ColorIndex = 56

Else

MsgBox "密碼錯(cuò)誤,即將退出!"

Sheets("普通文檔").Select

End If

End Sub


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)