根据单元格的值隐藏和显示Excel中的多个列

时间:2016-06-30 14:30:34

标签: excel vba

我正在尝试根据特定单元格中的值将列隐藏在工作表中。此值可以来自不同的名称选项,并且为每个可能的选项隐藏不同的列。我有以下代码,但它似乎并不总是有效,然后有时它只隐藏范围内的一些列,但不是全部(如果Abandonnée在单元格F7中,那么有时候H列会隐藏我不会被隐藏)如果有人有任何想法,我将不胜感激。谢谢!

SomeBoundProperty

1 个答案:

答案 0 :(得分:2)

两件事:

  1. 首先取消隐藏所有列。

  2. 然后使用Select Case迭代条件并隐藏需要隐藏的内容。

  3. 像这样,你需要放入其他条件:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Columns("G:I").Hidden = False
    Select Case Range("F7")
        Case "Abandonnée"
            Columns("H:I").Hidden = True
        Case "Référé au spécialiste"
            Columns("G").EntireColumn.Hidden = True
            Columns("I").EntireColumn.Hidden = True
        Case "En force"
            Columns("G").EntireColumn.Hidden = True
        'Continue with all your tests
    End Select
    
    
    End Sub
    

    如果您的单词触发隐藏相同的列,则可以使用Case语句:

    Case "En force","Abandonnée"
         '...
    

    然后当F7是这两者中的任何一个时,它将执行下面的操作。