KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在受保護的工作表中插入或刪除列?

作者Xiaoyang修改日期

當您在 Excel 工作表中處理敏感或共用資料時,保護工作表是防止意外或未經授權變更的有效做法。然而,根據其設計,工作表保護也會限制某些操作(例如插入或刪除列),特別是在已鎖定的儲存格區域。許多使用者經常需要在維持其他部分受保護的同時,允許特定編輯操作(如插入或刪除列)。本教學將說明如何在受保護的工作表中靈活插入或刪除列,並探討其實際應用場景、注意事項與替代方案,協助您兼顧資料安全與操作效率。

在受保護的工作表中插入或刪除行

VBA:自動暫時解除保護、插入/刪除,再重新保護


在受保護的工作表中插入或刪除行

此解決方案最適合希望使用者僅擁有有限編輯權限(例如插入或刪除列),同時確保工作表大部分內容受到保護的情境。它能讓指定的列或資料區段保持彈性與可編輯性,同時防止工作表其他部分遭到意外變更或刪除。

請依照以下逐步指示,在受保護的工作表中啟用列的插入與刪除功能:

1. 選取您希望使用者能在受保護工作表中插入或刪除的整列。此步驟將決定這些操作可執行的位置。選取後,對該範圍按一下滑鼠右鍵,並從快捷選單中選擇設定儲存格格式。請參閱截圖:

在選取的列上按一下右鍵後選擇「儲存格格式」的螢幕截圖

2. 在出現的設定儲存格格式對話方塊中,切換至保護分頁,取消勾選鎖定核取方塊,即可解鎖這些特定儲存格或列。此步驟至關重要——若未解鎖,即使已授予其他編輯權限,使用者仍無法進行變更。請務必謹慎,切勿解鎖您希望保持受保護的敏感區域。請參閱截圖:

在「儲存格格式」對話框中取消勾選「鎖定」選項的螢幕截圖

3. 按一下確定以關閉對話方塊,接著前往 Excel 功能區,點選審閱,再選取保護工作表即可啟用工作表保護。請參閱截圖:

啟用「保護工作表」功能的螢幕截圖

4. 在出現的保護工作表對話方塊中,您會看到標示為允許此工作表的所有使用者的清單。請勾選插入列刪除列選項。如有需要,請輸入密碼以保護工作表,並在提示時再次確認。此步驟對於僅授予使用者必要的編輯權限,同時確保工作表其他部分的安全至關重要。請參閱截圖:

「保護工作表」對話框的螢幕截圖,其中已指定密碼並勾選了「插入列」和「刪除列」選項

5. 最後,按一下確定以根據新設定啟用工作表保護。如此一來,僅有您指定的列能依據所設定的權限與解鎖狀態進行插入或刪除,工作表其餘部分則維持不變。請參閱截圖:

在受保護的工作表中可刪除與插入列的螢幕截圖

此方法可滿足多數基本需求,但請注意:使用者無法在未解鎖且未獲授權的區域外插入或刪除列。啟用保護前,務必仔細檢查哪些儲存格已解鎖,以免意外洩露資料或保護不足。

若您希望在更大範圍的工作表區域中啟用插入或刪除功能,或實現更高程度的自動化,請考慮以下 VBA 解決方案。


VBA:自動暫時解除保護、插入/刪除,再重新保護

此 VBA 巨集方法非常適合需要在受保護工作表中頻繁插入或刪除列,卻不想每次手動解除與重新設定工作表保護的使用者。只需按一下按鈕,巨集便會自動暫時解除工作表保護、完成列操作,並立即重新啟用保護——讓您兼顧效率與安全。此方法特別適用於團隊協作或重複性任務,確保資料在靈活編輯的同時,始終維持完整防護。

此方法的主要優點包括:透過縮短解除保護的時間窗口,有效降低敏感資料意外外洩的風險,同時免除重複輸入密碼以進行例行編輯的麻煩。然而,其潛在限制在於必須啟用巨集,且使用者需具備基本的巨集安全知識。

1. 開啟您要啟用此功能的工作表。按一下開發人員分頁(若未顯示「開發人員」分頁,可透過)檔案 選項 自訂功能區 啟用),然後按一下 Visual Basic。在出現的 VBA 編輯器視窗中,選取插入 模組,並將下列程式碼貼到模組中:

Sub InsertRowInProtectedSheet()
    Dim ws As Worksheet
    Dim pwd As String
    Set ws = ActiveSheet
    pwd = InputBox("Enter sheet password:", "KutoolsforExcel")
    
    If pwd = "" Then Exit Sub
    
    On Error Resume Next
    ws.Unprotect Password:=pwd
    
    If Err.Number <> 0 Then
        MsgBox "Incorrect password or unprotect failed!", vbExclamation
        Exit Sub
    End If
    
    On Error GoTo 0
    Dim insertRow As Integer
    insertRow = Application.InputBox("Enter row number to insert:", "KutoolsforExcel", Type:=1)
    
    If insertRow > 0 Then
        ws.Rows(insertRow).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        MsgBox "Row inserted at " & insertRow, vbInformation
    End If
    
    ws.Protect Password:=pwd, AllowInsertingRows:=True, AllowDeletingRows:=True
End Sub

Sub DeleteRowInProtectedSheet()
    Dim ws As Worksheet
    Dim pwd As String
    Set ws = ActiveSheet
    pwd = InputBox("Enter sheet password:", "KutoolsforExcel")
    
    If pwd = "" Then Exit Sub
    
    On Error Resume Next
    ws.Unprotect Password:=pwd
    
    If Err.Number <> 0 Then
        MsgBox "Incorrect password or unprotect failed!", vbExclamation
        Exit Sub
    End If
    
    On Error GoTo 0
    Dim delRow As Integer
    delRow = Application.InputBox("Enter row number to delete:", "KutoolsforExcel", Type:=1)
    
    If delRow > 0 Then
        ws.Rows(delRow).Delete
        MsgBox "Row " & delRow & " deleted.", vbInformation
    End If
    
    ws.Protect Password:=pwd, AllowInsertingRows:=True, AllowDeletingRows:=True
End Sub

2. 關閉 VBA 編輯器。若要插入列,請按 Alt + F8 開啟巨集對話方塊,選取 InsertRowInProtectedSheet,然後按一下執行;若要刪除列,則選取 DeleteRowInProtectedSheet 並按一下執行。系統將提示您輸入工作表密碼,並指定要插入或刪除的列。此方法會在操作完成後立即重新保護工作表,以確保持續的安全性。請務必將活頁簿另存為啟用巨集的檔案(.xlsm),日後才能繼續使用!

提示:

  • 執行巨集前,務必確認密碼正確,否則錯誤的密碼將導致自動化流程遭封鎖。
  • 若發生任何錯誤,請檢查輸入值,並確認已在 Excel 信任中心設定中啟用巨集。

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用