Note: The other languages of the website are Google-translated. Back to English
登入  \/ 
x
or
x
註冊  \/ 
x

or

如何在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隱藏基於特定日期的列

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

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

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

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

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

doc按日期4隱藏列

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

doc按日期5隱藏列

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

doc按日期6隱藏列

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


最佳辦公效率工具

Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

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

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

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 每天將您的工作效率提高50%,並減少數百次鼠標單擊!
officetab底部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Seven · 3 years ago
    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"
  • To post as a guest, your comment is unpublished.
    Chris · 3 years ago
    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.