在上一列中获取总计后隐藏下一列

时间:2013-09-18 06:53:24

标签: excel excel-vba vba

我被分配到Excel& amp;宏,我不太了解那些。 任务是自动隐藏下一列(如果上一列总计为0,则刷新或按F2),如果其总数>> 0则自动取消,然后自动取消隐藏(不刷新或按F2)。

假设我有一组列&行(比如说C11到C20),我必须输入值(比如说0或> = 0),一旦我到达最后一个单元格(比如C20),它具有特定列的总和公式(C11到C20),如果总计是0然后下一列(比如说D)应该在没有按任何键的情况下得到隐藏,如果总数>> 0,则列D应该是原样。

请帮帮我。

以下是隐藏列的代码。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$31" Then
If Target <= 0 Then
Range("D31").EntireColumn.Hidden = True
Else
Range("D31").EntireColumn.Hidden = False
End If
End If

If Target.Address = "$D$31" Then
If Target <= 0 Then
Range("E31").EntireColumn.Hidden = True
Else
Range("E31").EntireColumn.Hidden = False
End If
End If

If Target.Address = "$E$31" Then
If Target <= 0 Then
Range("F31").EntireColumn.Hidden = True
Else
Range("F31").EntireColumn.Hidden = False
End If
End If

End Sub

1 个答案:

答案 0 :(得分:1)

这是我在google搜索这个漫长的搜索后找到的解决方案。我现在只使用1列。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rCell As Range

For Each rCell In Range("C11:C31")
If Range("C31").Value = "0" Then
    Range("D31").EntireColumn.Hidden = True
Else
If Range("C31").Value <> "0" Then
    Range("D31").EntireColumn.Hidden = False
End If
End If
Next rCell

End Sub