如果所有行都包含值0,如何删除包括标题的整个列

时间:2017-08-16 15:25:34

标签: excel

我有一个带有第1行标题的Excel工作表,以及后续行中-2到2的每列的值。如果每行包含值0,我想删除一列(包括标题)。

示例:我有三列A,B和C以及1500行。这些行中的每一行的标题是患者1,患者2和患者3.患者3在1499行中的每一行中包含0,并且我想要具有仅患者1和患者2的最终电子表格。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

Sub RemoveZeroBasedColumns()

    Dim oWS As Worksheet: Set oWS = ThisWorkbook.Worksheets("Sheet4")
    Dim iLastCol As Integer
    Dim iLastRow As Long
    Dim iC As Integer

    With oWS

        iLastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
        iLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row - 1

        For iC = 1 To iLastCol
            If WorksheetFunction.CountIf(Range(Chr(64 + iC) & ":" & Chr(64 + iC)), 0) = iLastRow Then
                .Columns(iC).Delete shift:=xlShiftToLeft
                iLastCol = iLastCol - 1
            End If
        Next


    End With

End Sub