我正在尝试运行一个宏,该宏将删除 B 列中不包含特定值的行。这是我的代码:
Sub deleteRows()
Dim count As Integer
count = Application.WorksheetFunction.CountA(Range("AF:AF"))
Dim i As Integer
i = 21
Do While i <= count
If (Application.WorksheetFunction.IsNumber(Application.WorksheetFunction.Search("OSR Platform", Range("B" & i))) = False) Then
If (Application.WorksheetFunction.IsNumber(Application.WorksheetFunction.Search("IAM", Range("B" & i))) = False) Then
Rows(i).EntireRow.Delete
i = i - 1
count = count - 1
End If
End If
i = i + 1
Loop
End Sub
现在它应该做的是:
1.)找到要通过的行数并将其设置为计数(这有效)
2.) 从第 21 行开始,在 B 列中查找“OSR 平台”和“IAM”[这种作品(见下文)]
3.)如果没有找到,删除整行并根据需要调整计数和行号(这有效)
出于某种原因,每当代码到达第一个 If 语句时,就会弹出一个带有红色 X 的错误窗口,上面只显示“400”。据我所知,我已经把所有的东西都写在语法上,但显然有问题。