aids 發問時間: 電腦與網際網路軟體 · 1 0 年前

excel高手,請教多個工作表如何快速鎖定特定儲存格

請教excel高手們,一個檔案裡有三十幾個工作表,我想要把所有工作表中只要有公式的儲存格用鎖定保護,以免輸入資料改到公式,我是會設定,但是因為工作表有這麼多個,我不想一個一個去設定,不曉得有沒有快速的方法可以選取所有工作表中含有公式的儲存格然後設定保護呢?我已經上網找很久了,都試不成功,我有試過選取所有工作表中含有公式的儲存格,但是選取後變成保護欄裡的保護工作表會反白,不能設定密碼耶,怎麼會這樣?可以教我嗎?看到有些高手說可以使用VBA,我不曉得要怎麼用說,都試不出來,請大家幫幫忙,感激不盡~

下面的網址是我找到的,但是我試不出來

http://tw.knowledge.yahoo.com/question/question?qi...

2 個解答

評分
  • Daniel
    Lv 7
    1 0 年前
    最佳解答

    1.設定儲存格: 在有公式欲保護的儲存格, 先使用 [格式]-[儲存格格式], 到 [保護] 頁面, 將 [鎖定] 及 [隱藏] 均打勾, 不要鎖定尚要輸入資料的儲存格則不要打勾

    2.複製程式碼: 按 [工具]-[巨集]-[VB編輯器], 或按快速鍵 [Alt]-[F11], 叫出VBA的編輯頁面, 左方會有您的每個工作表名稱, 在任意處按 [右鍵]-[新增模組], 在模組的 [Module1] 上方連點二下, 將下列程式碼複製到模組裡

    3.做兩個按鈕: 找一個頁面作控制主頁, 在工具列任一個空白處按右鍵, 將 [表單工具列] 打勾, 此工具列即會出現, 按工具列內長得像按鈕的小圖樣, 然後在要設定按鈕處框出按鈕, 此時會跳出選擇巨集, 分別在兩個按鈕各設定一個名稱

    4.開始使用: 按有設定SheetsProtect巨集的按鈕者, 即馬上將所有的工作表作保護, 要取消所有保護, 則按另一個按鈕

    以下是程式碼:

    Sub SheetsProtect()

    '保護工作表

    Dim sht As Worksheet

    Dim mySheet As String

    On Error Resume Next

    Application.ScreenUpdating = False

    For Each sht In Worksheets

    mySheet = sht.Name

    Sheets(mySheet).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

    Next sht

    Application.ScreenUpdating = True

    End Sub

    Sub SheetsUnProtect()

    '取消保護工作表

    Dim sht As Worksheet

    Dim mySheet As String

    On Error Resume Next

    Application.ScreenUpdating = False

    For Each sht In Worksheets

    mySheet = sht.Name

    Sheets(mySheet).Unprotect

    Next sht

    Application.ScreenUpdating = True

    End Sub

  • 瑞秋
    Lv 5
    1 0 年前

    沒有你說的這一種鎖定格功能!據我所知,除非你自己寫的程式才行!

還有問題?馬上發問,尋求解答。