不少人嘗試過給工作組設定工作表保護,但是,沒能成功,而且,總不甘心。
好在,用VBA處理起來不算麻煩。
右鍵點擊任一工作表标簽,将下面的代碼粘貼到光标處:
- Sub 保護()
- Dim Sh As Worksheet
- For Each Sh In Worksheets
- Sh.Protect
- Next
- MsgBox "OK"
End Sub
将光标定位到該代碼的任意位置,按F5運行該代碼。
如果要給工作表保護設置密碼,可在 Protect 後面寫入密碼,用空格分開,密碼前後加上半角雙引号,假如密碼為123:
Sh.Protect "123"
如果要批量撤銷工作表保護,可将命令Protect改為Unprotect,如果有密碼,同樣在後面寫入密碼,如:
- Sub 撤銷保護()
- Dim Sh As Worksheet
- For Each Sh In Worksheets
- Sh.Unprotect "123"
- Next
- MsgBox "OK"
- End Sub
我們會注意到,Excel基本操作中,用同一個菜單項或命令按鈕執行“保護”和“撤銷保護”兩個操作。我們也可以把上面兩段代碼合并為一段代碼:
- Sub 保護全部工作表()
- Dim pc As Boolean, cMM$, Sh As Worksheet
- pc = Me.ProtectContents
- On Error Resume Next
- cMM = Application.InputBox("請輸入" & IIf(pc, "撤銷", "") & "工作表保護密碼:", "密碼", Type:=2)
- If cMM <> "123" Then Exit Sub '輸入的密碼是123
- Application.ScreenUpdating = False
- For Each Sh In Worksheets
- If pc Then
- Sh.Unprotect ("xx") '實際工作表保護密碼是xx
- Else
- Sh.Protect ("xx")
- End If
- Next
- Application.ScreenUpdating = True
- End Sub
使用Excel的人中,一部分人的工作十分需要VBA的功能,比如分頁打印,便他的工作需要中,除此以外,不再需要VBA,重要一點,他也沒有學習VBA的興趣。
他們需要一種拿來就用的,像新建、打開、保存、打印一樣簡單的功能。
為了能滿足更多人的需求,歡迎各位共同出謀獻策。
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!