Estoy tratando de ejecutar una macro que eliminar filas que no contienen un valor particular en la columna B. Aquí está mi código:400 de error de Excel Macro
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
Ahora lo que debería estar haciendo es el siguiente:
1.) encuentra el número de filas para ir a través y establece que a medida que el recuento (esto funciona)
2.) Comience en la fila 21 y busque "Plataforma OSR" y "IAM" en la columna B [este tipo de trabajos (ver a continuación)]
3.) Si no encuentra ninguno, elimine toda la fila y ajuste el recuento y el número de fila según sea necesario (esto funciona)
Por alguna razón, siempre que el código llegue a la primera instrucción If, una ventana de error con aparece una X roja que solo dice "400". Por lo que puedo decir, he escrito todo sintácticamente en voz alta, pero claramente hay algo mal.
No, ese no es el problema. He probado este método con otras condiciones en la declaración If y funciona muy bien. Buena idea, sin embargo. – jrad
@Gaffi - vine aquí para sugerir lo mismo – LittleBobbyTables
Por las dudas, probé lo que Gaffi sugirió (que empiece en la parte inferior de la tabla y gire hacia atrás) y obtuve el mismo error. – jrad