2017-03-08 88 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

相关问题