2017-03-08 45 views
-2

我想請求幫助。使用(VBA)隱藏Excel中的選定列單擊按鈕

這是我的項目。我有這樣的數據

enter image description here

我想要做的是使一個按鈕隱藏和按鈕,取消隱藏

假設打成日期從2010年1月至2016年1月 每列我想隱藏所有包含Date March的列將自動隱藏所有非March列。

我需要一些幫助以獲取我的代碼。這將變成ou,如果cell.entirecolumn.Hidden = cell.value = Range(「I1」)爲True,那麼具有單元格值的列在一個範圍內將隱藏..假設我有標題爲A到Z的列如何使它成爲從某種意義上說,如果範圍(「A1」)包含了所有然後用列A將取消隱藏,因此不將隱藏所有列...這裏是我的代碼

子Hide_Columns() 昏暗的小區範圍 應用。 ScreenUpdating = False 對於Intersect中的每個單元格(ActiveSheet.UsedRange,Range(「A1:F1」)) cell.EntireColumn.Hidden = cell.Value = Range(「I1」)and Not IsEmpty(cell) Next cell Application.ScreenUpdating = True End Sub

子Show_All_Columns() Columns.Hidden =假 結束小組

+1

最簡單的方法(無VBA)將分組所有行軍列,然後使用[分組功能]的[1]和[2]按鈕(https://support.office.com/en-us/article/Outline-group-data-in-a-worksheet-08CE98C4-0063-4D42-8AC7-8278C49E9AFF)切換可見性。 –

+0

此按鈕是否應該僅切換3月的可見性?你有沒有編寫任何代碼? – avb

+0

還沒有,因爲我只是一個初學者在VBA編程..我認爲切換分組功能只適用於行???我沒有嘗試尚未... =).. – SANDY

回答

0

你應該嘗試使用谷歌詢問這裏之前。 我認爲,你可以用這個啓動:

Sub HideCols() 
    Columns("A:BZ").Select 
    Selection.EntireColumn.Hidden = True ''Hide 
End Sub 

Sub ShowCols() 
    Columns("A:BZ").Select 
    Selection.EntireColumn.Hidden = False ''Unhide 
End Sub 

,然後參數化的Columns("A:BZ").Select一些if語句。最後添加一個調用兩個Subs的按鈕。

+0

或者兩種方法爲單行:'列。(「A:BZ」)EntireColumn.Hidden =不列(「A:BZ」)。 EntireColumn.Hidden' –

+0

謝謝你的分享.. – SANDY

+0

謝謝你的分享..我需要一些幫助爲我的代碼。這將變成ou,如果cell.entirecolumn.Hidden = cell.value = Range(「I1」)爲True,那麼具有單元格值的列在一個範圍內將隱藏..假設我有標題爲A到Z的列如何使它成爲這裏從某種意義上說,如果範圍(「A1」)中包含A,則所有列,將取消隱藏,因此不將隱藏所有列...是我的代碼 – SANDY