列 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 ステートメントに到達するたびに、「400」という赤い X が付いたエラー ウィンドウが表示されます。私が知る限り、私はすべてを構文的にしっかりと書いていますが、明らかに何かが間違っています。