跳到主要內容

如何在Excel中根據日期自動隱藏列?

假設我在工作表中有一系列數據,現在,我想根據特定日期自動隱藏列。 例如,當我在單元格中輸入日期5/16/2016時,我想立即隱藏日期小於此特定日期的列,如下面的屏幕快照所示。 本文將介紹一些解決問題的技巧。

doc按日期1隱藏列

使用VBA代碼根據特定日期自動隱藏列

使用Kutools for Excel隱藏基於特定日期的列


箭頭藍色右氣泡 使用VBA代碼根據特定日期自動隱藏列

要完成此任務,以下VBA代碼可能會對您有所幫助,請執行以下操作:

1。 選擇要按日期隱藏的工作表標籤,然後右鍵單擊以選擇 查看代碼 從上下文菜單轉到 Microsoft Visual Basic for Applications 窗口,然後將以下代碼複製並粘貼到模塊中:

VBA代碼:根據特定日期自動隱藏列:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    Dim xCell As Range
    If Target.Address <> Range("K4").Address Then Exit Sub
    Application.ScreenUpdating = False
    For Each xCell In Range("A1:I1")
        xCell.EntireColumn.Hidden = (xCell.Value < Target.Value)
    Next
    Application.ScreenUpdating = True
End Sub

doc按日期2隱藏列

2。 然後保存並關閉此代碼,返回工作表,現在將日期輸入到單元格中 K4,則小於該特定日期的日期的列將被自動隱藏。

備註:在上面的代碼中, K4 是您要基於其隱藏列的特定日期單元格, A1:I1 行單元格包含您使用的日期。


箭頭藍色右氣泡 使用Kutools for Excel隱藏基於特定日期的列

如果您不熟悉該代碼,則可以使用以下便捷工具-Excel的Kutools,其 選擇特定的單元格 實用程序,您可以輕鬆完成此工作。

Excel的Kutools : 帶有300多個便捷的Excel加載項,可以在30天內免費試用. 

安裝後 Excel的Kutools,請執行以下操作:

1。 選擇日期標題,然後單擊 庫工具 > 選擇 > 選擇特定的單元格,請參見屏幕截圖:

2。 在彈出 選擇特定的單元格 對話框中選擇 整列 來自 選擇類型,然後選擇條件,例如 小於 來自 特定類型 下拉列表,然後在要基於其隱藏列的文本框中輸入日期,請參見屏幕截圖:

doc按日期4隱藏列

3。 然後點擊 Ok 按鈕,會立即選擇日期小於5/16/2016的特定列,請參見屏幕截圖:

doc按日期5隱藏列

4。 然後右鍵單擊任何一個選定的列標題,然後選擇 隱藏 根據需要隱藏這些選定的列。 看截圖:

doc按日期6隱藏列

點擊免費下載Kutools for Excel現在!

最佳辦公生產力工具

熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

kte選項卡201905


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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have the same issue as Chris. The cell with my date does not always change. I need the macro to run regardless of whether the date has changed from last month or is the same as last month without having to click on the cell itself and hit enter to trigger the "Change"
This comment was minimized by the moderator on the site
Hello,
Thanks for the code.
In my case the cell K4 is a calculation cell from the formula =EOMONTH(A1,0). Example: A1 = 01.03.2017. K4 takes the value 31.03.2017. But the VBA code that you propose does not hide the columns until I click on K4 cell and press Enter to refresh it. I tried to add Range("K4").calculate but with no effect. Help please.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations