我在一張名爲「Optimization」的表中有一系列的列。某些列只包含一個條目(「FAIL」),而其他列包含一組整數。VBA'For'功能未完成周期
我需要循環遍歷列並刪除其中有失敗的列。我用的代碼如下:
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福利局這裏,所以提前道歉,如果編碼傷害你的大腦。)