2008-10-10 68 views
6

我的工作簿中有大約25張工作表(Excel電子表格)。 有沒有一種方法可以保護所有25個單擊工作表?或此功能不可用,我將不得不編寫一個VBA代碼來完成此操作。我經常需要保護所有牀單,並且取消所有牀單的保護,並且單獨做很費時間如何用一次單擊來保護Excel工作簿中的所有工作表?

回答

13

我不相信有一種方法可以在不使用VBA的情況下進行。如果你有興趣在VBA解決方案,這裏是代碼:

Dim ws as Worksheet 
Dim pwd as String 

pwd = "" ' Put your password here 
For Each ws In Worksheets 
    ws.Protect Password:=pwd 
Next ws 

解除保護幾乎是一樣的:

Dim ws as Worksheet 
Dim pwd as String 

pwd = "" ' Put your password here 
For Each ws In Worksheets 
    ws.Unprotect Password:=pwd 
Next ws 
3

不要以爲有一個按鈕來做到這一點,但它是很簡單的代碼:

對於每個protSheet在工作表中 protSheet.Protect密碼:= 「噓」 下一步protSheet

1

您可以PROTEC t工作簿而不是每個工作表,這將停止整個工作簿的更改

1

您可以保護所有工作表免受用戶更改,但仍允許VBA腳本使用「UserInterfaceOnly」選項進行更改。此變通辦法可以讓你運行工作表上的任何VBA腳本,而無需每次都以保護和取消保護:

Dim ws as Worksheet 
Dim pwd as String 

pwd = "" ' Put your password here 
or Each ws In Worksheets 
    ws.Protect Password:=pwd, UserInterfaceOnly:=True 
Next ws 

解除保護是一樣的由Ben Hoffstein提供的解決方案:

Dim ws as Worksheet 
Dim pwd as String 

pwd = "" ' Put your password here 
For Each ws In Worksheets 
    ws.Unprotect Password:=pwd 
Next ws 

你可以訪問此宏按鈕/快捷方式。在Excel 2010中,右鍵單擊快速訪問工具欄並選擇「自定義快速訪問工具欄」。在下拉菜單中選擇命令,選擇「宏」。然後單擊您創建的VBA腳本以保護(或取消保護)。最後點擊「添加>」按鈕,然後點擊「確定」保存。

相關問題