VBA在excel中隐藏多个列。否则没有IF

时间:2017-07-14 16:15:40

标签: vba excel-vba excel

我发现一些在线代码适用于单个列但需要隐藏多个列,因此我对其进行了一些编辑。在没有IF错误的情况下,我一直在努力。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim i As Integer
    i = 0

    If Range("B3").Value = 0 Then

        For i = 0 To 144
        Columns("D" + i).EntireColumn.Hidden = True
        i = i + 4

    Else
        For i = 0 To 144
        Columns("D" + i).EntireColumn.Hidden = False
        i = i + 4

    End If

End Sub

我哪里可能出错?

谢谢!

1 个答案:

答案 0 :(得分:0)

好的尝试一下,让我知道会发生什么,如果需要,我们可以改进这个

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim i As Long


For i = 0 To 144
    If Range("B" & i + 1).Value = vbNullString Then
        Range("D" & i + 1).EntireColumn.Hidden = True
        i = i + 4
    Else
        Range("D" & i + 1).EntireColumn.Hidden = False
        i = i + 4

    End If
Next i


End Sub