Note: The other languages of the website are Google-translated. Back to English

如何根據 Excel 中的用戶輸入實時隱藏列?

對於我們大多數人來說,隱藏 Excel 中的列可能是一項常見任務,但是,您是否嘗試過根據某些特定輸入值自動隱藏列? 例如,當我在單元格中輸入文本“AA”時,A 列被隱藏; 當我輸入“BB”時,B列和C列被隱藏; 輸入“CC”時,D列和E列被隱藏; 輸入“DD”時,F 列被隱藏,如下圖所示。 本文將創建一個 VBA 代碼以在 Excel 中解決它。

根據使用 VBA 代碼的用戶輸入實時隱藏或取消隱藏列

隱藏或取消隱藏列以使用 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
備註:在上面的代碼中, K1 是您輸入特定文本的單元格,您應該根據需要更改文本和列名。 此外,您只需添加以下腳本即可添加其他新條件:
  • 案例“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
備註:在上面的代碼中, K1 是您輸入特定文本的單元格, B1:H1 是包含要過濾的產品名稱的行標題。

3. 然後,關閉代碼窗口。 現在,如果您在單元格K1中輸入產品名稱,則只會顯示相應的列,其他列將被隱藏; 如果您輸入文本“All”,所有列將顯示如下演示所示:


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (0)
還沒有評分。 成為第一位評論!
這裡還沒有評論
請用英文發表您的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護