Ya tengo tu correo. Ya vi tus fórmulas.
En un post anterior te pregunté esto:
El resultado de la fórmula es vacío o el resultado tiene espacios en blanco : " "
Debes responder mis dudas, para que esto funcione. Ayúdame a ayudarte, debes leer con atención lo que te pido.
Tu fórmula tiene un espacio en blanco:
De hecho todas tus fórmulas tienen espacio
=SI.ERROR(BUSCARV(A13,'DATOS MAESTROS'!A:E,2,0), " ")
=SI.ERROR(BUSCARV(A13,'DATOS MAESTROS'!A:E,5,0), " ")
=SI.ERROR(K13*M13," ")
Eso te va a ocasionar problemas en todas tus fórmulas. Lo recomendable es que pongas como resultado un vacío, es decir las comillas juntas:
Por ejemplo:
=SI.ERROR(BUSCARV(A13,'DATOS MAESTROS'!A:E,2,0), "")
=SI.ERROR(BUSCARV(A13,'DATOS MAESTROS'!A:E,5,0), "")
=SI(K13<>"",K13*M13,"")
Pero si no quieres cambiar tus fórmulas, entonces prueba esto:
Sub borrar_filas()
Dim r As Range
Dim i As Long
For i = 13 To Range("M" & Rows.Count).End(3).Row
If Range("M" & i).Value = " " Or Range("M" & i).Value = "" Then
If r Is Nothing Then
Set r = Range("A" & i)
Else
Set r = Union(r, Range("A" & i))
End If
End If
Next
If Not r Is Nothing Then
r.EntireRow.Delete
End If
End Sub
Ya hice la prueba en tu archivo y borra bien las filas.