Cual es el problema en esta macro, me arroja un error de automatización y unos números

Al ejecutar una macro el excel se queda pegado(no responde) y al cerrarlo me aparece error de atumatizacion y una serie de números, quería saber si me puedes ayudar a encontrar el error

Este es el código,

Sub proceso()
cr = 11
cb = 10
'fila de donde inicia trabajando y que permite recorrer toda la hoja
fx = 2
'ciclo para recorrer toda la hoja
Do While Not IsEmpty(Cells(fx, 1))
'Cells(fx, 12).Select
'guardo el bp en la variable bp
bp = Cells(fx, 3)
'fo sirve para recorrer toda la hoja en busca de un bp
'ciclo para determinar dónde está el primer bp igual al que tengo
    fo = 2
    Do While Not IsEmpty(Cells(fo, 1))
        If Cells(fo, 3) = bp Then
            'f1 es la fila donde está por primera vez el bp dado
            f1 = fo
            Exit Do
        End If
    fo = fo + 1
    Loop
'ciclo para determinar donde está el último bp igual al que tengo
    fo = f1
    Do While Not IsEmpty(Cells(fo, 1))
        If Cells(fo, 3) <> bp Then
            'f2 es donde está por última vez el bp dado
            f2 = fo - 1
            Exit Do
        End If
    fo = fo + 1
    Loop
    'el siguiente proceso define si hay un ok en el rango de filas desde f1 hasta f2
'c = 1
x = 0
    If HayunVencido(bp, f1, f2, cb) And x = 0 Then
    x = 1
     fm = f1
        Do While fm <= f2
            Cells(fm, cr) = "Vencido"
            fm = fm + 1
        Loop
    Else
        If HayunOk(bp, f1, f2, cb) And x = 0 Then
        'si hay un ok marca todas las columnas 11 de esas filas con un OK
            fm = f1
            x = 1
            Do While fm <= f2
                Cells(fm, cr) = "OK"
                fm = fm + 1
                'c = c + 1
            Loop
        Else
            If HayunPendiente(bp, f1, f2, cb) And x = 0 Then
            x = 1
             fm = f1
                Do While fm <= f2
                    Cells(fm, cr) = "Pendiente"
                    fm = fm + 1
                Loop
            Else
                If HayunNoAplica(bp, f1, f2, cb) And x = 0 Then
                 fm = f1
                 x = 1
                    Do While fm <= f2
                        Cells(fm, cr) = "No Aplica"
                        fm = fm + 1
                    Loop
                End If
            End If
        End If
    End If
fx = fx + 1 + f2 - f1
Application.StatusBar = fx
Loop
Application.StatusBar = "Ready"
End Sub

1 respuesta

Respuesta
1

Para revisarlo tendrías que decirme qué es lo que esperas de resultado.

Envíame tu archivo con la macro y con ejemplos me explicas lo que quieres que haga la macro.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario "Jesus Serralde" y el título de esta pregunta.

Ahí te envíe el archivo

En esta línea tienes que ir aumentando el contador, para que pase a la siguiente celda

fx = fx + 1 + f2 - f1

Pero como tienes f2 - f1, estás haciendo una resta, entonces llega el momento en que se queda en la misma fila y por eso no se sale del ciclo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas