我有一个带有第1行标题的Excel工作表,以及后续行中-2到2的每列的值。如果每行包含值0,我想删除一列(包括标题)。
示例:我有三列A,B和C以及1500行。这些行中的每一行的标题是患者1,患者2和患者3.患者3在1499行中的每一行中包含0,并且我想要具有仅患者1和患者2的最终电子表格。
感谢您的时间。
答案 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