【发布时间】:2017-06-28 10:26:02
【问题描述】:
我在名为“优化”的工作表中有一系列列。一些列仅包含一个条目(“FAIL”),而其他列包含一组整数。
我需要循环浏览这些列并删除其中包含 FAIL 的列。我使用的代码如下:
Sub delete_fails()
Dim empty_column1 As Integer
Dim iTimes As Long
Dim iRepeat As Integer
iTimes = Application.WorksheetFunction.CountA(Sheets("Optimisation").Range("1:1"))
empty_column1 = 1
For iRepeat = 1 To iTimes
If Sheets("Optimisation").Cells(1, empty_column1).Value = "FAIL" Then
Sheets("Optimisation").Columns(empty_column1).EntireColumn.Delete
End If
empty_column1 = empty_column1 + 1
Next iRepeat
End Sub
该代码部分有效,因为它删除了一些 FAIL 列,但并未全部删除。在成功删除所有 FAIL 列之前,我必须运行宏 10-15 次。代码中是否有我可以清除的错误,所以我只需运行一次宏?也许我需要指示 Excel 忽略其中包含数字的任何列并转到下一个?
(注意:这里的总 VBA 新手,如果编码伤害你的大脑,请提前道歉。)
【问题讨论】: