根据信息删除列



我正试图根据不存在的信息删除列。

我想检查所有第4行,如果每个单元格不等于以下条件,我想删除该列。

标准
空单元格
ID
总计
147
区域

我似乎不知道我哪里出了问题——似乎如果我运行我的代码10次,它终于完成了我的任务——但它应该在一次尝试中工作

For Each cel_1 In Worksheets("Sheet1").Range("4:4")
If cel_1.Value <> "" And cel_1.Value <> "ID" And cel_1.Value <> "Total" _
And cel_1.Value <> "147" And cel_1.Value <> "Area" Then
cel_1.EntireColumn.Delete  
End If
Next

尝试另一种循环

Sub DeleteColumns()
For i = 1 To ActiveSheet.Cells(4, Columns.Count).End(xlToLeft).Column
If ActiveSheet.Cells(4, i) <> "" And ActiveSheet.Cells(4, i) <> "ID" And ActiveSheet.Cells(4, i) <> "Total" _
And ActiveSheet.Cells(4, i) <> "147" And ActiveSheet.Cells(4, i) <> "Area" Then
ActiveSheet.Columns(i).Delete
i = i - 1
End If
Next i

End Sub

最新更新