如何根據 Excel 中使用者的輸入即時隱藏欄位?
在 Excel 中隱藏欄位雖是常見操作,但您是否試過根據特定輸入值自動隱藏對應欄位?例如:當儲存格輸入「AA」時,A 欄自動隱藏;輸入「BB」時,B 欄與 C 欄隨即隱藏;輸入「CC」時,D 欄和 E 欄立即隱藏;輸入「DD」時,F 欄則自動隱藏,效果如以下示範所示。本文將提供一段實用的 VBA 程式碼,助您輕鬆實現此智慧隱藏功能!
使用 VBA 程式碼根據使用者輸入即時隱藏或顯示欄位
若要根據輸入值即時隱藏指定列,請套用以下 VBA 程式碼:
1. 在您要隱藏欄位的工作表中,於工作表分頁上按一下滑鼠右鍵,然後從快捷功能表中選取「檢視程式碼」,請參閱截圖。

2. 在開啟的「Microsoft Visual Basic for Applications」視窗中,請將下列 VBA 程式碼複製並貼上至「工作表(程式碼)」視窗內。
VBA 程式碼:根據使用者輸入即時隱藏欄位
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
- 情況 "AA“:Columns("A“)。EntireColumn.Hidden = False
- Columns("A").EntireColumn.Hidden = True

3. 接著關閉程式碼視窗。現在,當您在儲存格 K1 中輸入「AA」並按下 ENTER 鍵時,A 欄會自動隱藏;輸入「BB」並按下 ENTER 鍵時,B 欄與 C 欄則會隨之隱藏,依此類推。若您輸入其他內容或刪除現有值,所有先前隱藏的欄位將立即恢復顯示,請參閱下方示範:
使用 VBA 程式碼根據使用者輸入隱藏或顯示特定欄位
在此範例中,我將根據輸入的產品名稱篩選數據區域:輸入「Hoodie」時,僅顯示 Hoodie 相關資訊,其餘欄位立即隱藏;輸入「All」時,所有欄位則會如以下示範完整呈現:
1. 在您要隱藏欄位的工作表中,於工作表分頁上按一下滑鼠右鍵,然後從快捷選單中選擇「檢視程式碼」,請參閱下方截圖:

2. 在開啟的「Microsoft Visual Basic for Applications」視窗中,請將下列 VBA 程式碼複製並貼上至「工作表(程式碼)」視窗內。
VBA 程式碼:根據使用者輸入隱藏或顯示欄位以篩選資料
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
Dim x As Variant, y As String
If Target.Address = "$K$1" Then
y = Target.Value
With Range("B1:H1")
Application.ScreenUpdating = False
.EntireColumn.Hidden = (y <> "All")
If y <> "All" Then
For Each x In .Cells
If x = y Then x.EntireColumn.Hidden = False
Next
End If
Application.ScreenUpdating = True
End With
End If
End Sub
3. 接著關閉程式碼視窗。現在,當您在儲存格 K1 中輸入產品名稱時,僅對應的欄位會顯示,其餘欄位將自動隱藏;若您輸入「All」,所有欄位都會如以下示範所示完整呈現:
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 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 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用