¿Macro no se ejecuta correctamente en algunos casos, error 13?

Sub sobregiro()
Dim lr As Long, sobregiro As Integer, CF As Long
        CF = Range("F" & Rows.Count).End(3).Row
            If CF > 8 Then
                lr = CF
                sobregiro = Evaluate("=SMALL(IF(F9:F" & lr & ">O9:O" & lr & ",ROW(F9:F" & lr & ")),1)")
                If sobregiro = 0 Then
                    MsgBox "Sin sobregiros"
                Else
                    MsgBox "El Registro de Salida de Mercancia sobregira la actual existencia del Inventario"
                    Range("F" & sobregiro & "").Select
                End If
            End If
End Sub

Hola, tengo una macro con la intención de validar que los datos en la columna F a partir de la celda 9 en adelante no me superen a los datos de la columna O, de manera tal que no me sobregiren mi inventario, en tal sentido si coloco un dato en F9 (MENOR o Mayor) al de O9 la macro se ejecuta correctamente, pero a partir de F10 en adelante si coloco un dato (MENOR o IGUAL) al que esta adyacente en la celda O, me genera el error 13 en tiempo de ejecución y se detiene la macro, ¿qué debo hacer para resolver este error?.

Añade tu respuesta

Haz clic para o