使用" 0"的值隐藏单元格。然后将所有细胞移位

时间:2015-06-04 20:53:25

标签: excel excel-vba excel-2010 vba

我有-D2:G61范围内的数据,我正在检查列F中是否有零值然后我隐藏该行,它下面的单元格将向上移动。

试过这个,但它删除了整行 -

Sub Hide_rows()

    Dim Col1 As String        
        Col1 = "F"
    Dim ListBottom As String   
        ListBottom = "A61"   
    Dim FirstRow As Long       
        FirstRow = 2
    Dim HideOrGroup As String  
        HideOrGroup = "Group"       
    Dim LastRow As Long         
        LastRow = Range(ListBottom).End(xlUp).Row  

    Application.ScreenUpdating = False

    For x = FirstRow To LastRow
        If Cells(x, Col1).Value = "0"  Then
            If HideOrGroup = "Group" Then
                Rows(x).Group
            End If
            Cells(x, Col1).EntireRow.Hidden = True
        End If
    Next x
    Application.ScreenUpdating = True

End Sub

1 个答案:

答案 0 :(得分:0)

我们无法隐藏单个单元格,而是我们可以删除它们永久丢失它们的成本并将以下单元格移开。这可以用两行代码完成。

Range("D15:G15").Select
Selection.Delete Shift:=xlUp

如果将来不会引用您隐藏的日期,您可能会采用这种方法,否则似乎不会有另一种方式来取回原始数据。

HAPPY VBA:)