因工作需要,我們常常需要對工作表的某一范圍設置訪問權限,禁止別人改動該單元格區域的內容。這裡向大家介紹實現這一目標的3種方法。
一、設置ScrollArea屬性
如果要使工作表的A1:E10單元格區域不被改動(下同),可以采取限定垂直滾動條范圍的辦法,隱藏A1:E10單元格區域,從而達到限定使用范圍的目的。具體步驟如下:
1、執行“視圖→工具欄→控件工具箱”命令,在打開的“控件工具箱”工具欄中,單擊“屬性”按鈕,顯示如圖一所示的“屬性”對話框。
圖1
2、在“屬性”對話框的ScrollArea一欄裡輸入“A45:E45”(該范圍可自己選定),然後按Enter鍵。
執行上述步驟後,我們發現A1:E10單元格區域不再出現在工作表中窗口中了,而且也無法移動垂直滾動條。由於ScrollArea屬性不是永久的,關閉了文件,下次再打開時又可隨意選擇編輯上述區域。因此還需在ThisWorkbook代碼模塊中添加下面一段代碼。
Private Sub Workbook_Open()
Worksheets("sheet1").ScrollArea = "A45:E45"
End Sub
這樣,每次打開工作簿時,上述代碼自動運行,並設定ScrollArea屬性。作為保護工作表內容,這種方法是個不錯的選擇。
二、使用工作表保護
1、激活Sheet1表,選中允許填充數據的單元格區域,右擊選擇“設置單元格格式”,在“保護”選項卡中取消“鎖定”復選項,單擊“確定”按鈕退出。然後依次單擊菜單“工具→保護→保護工作表”,在彈出的對話框列表中,輸入保護密碼,勾選“選定未鎖定的單元格”選項,其他選項全部清除(如圖2所示),點擊“確定”返回。
圖2
2、保護工作表後,再按回車鍵或按方向鍵,光標則只能在原來取消鎖定的單元格之間來回移動,而被鎖定A1:E10單元格區域單元格則不能激活,從而達到了限制訪問的目的。
三、利用VBA設置訪問權限
我們也可以利用VBA代碼,設置權限密碼,當編輯Sheet1工作表A1:E10單元格區域時,自動彈出輸入密碼提示框,密碼正確時,該單元格被激活,否則,單元格內容不能被改動。具體方法如下:
執行“工具→宏→Visul Basic編輯器”命令或按下Alt+F11組合鍵,在代碼窗口左側的“工程資源管理器”窗口中,雙擊Excel對象下的Sheet1工作表,在右側的代碼窗口中輸入以下代碼:
Private Sub Worksheet_Change(ByVal Target As Range)
X = Target
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <= 5 And Target.Row <= 10 Then
Y = InputBox("請輸入密碼:")
If Y <> 123 Then
MsgBox "密碼錯誤,你無編輯權限!"
Range("A11").Select
End If
End If
End Sub
.