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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用