Buscar v (VLOOKUP) muy lento al ejecutarse en una macro de excel

Hola que tal,

Solicito de su ayuda, tengo una macro la cual contiene 26000 registros y realiza algunos cálculos muy sencillos unos if, algunas restas y sumas; lo cual no tengo ningún problema; el inconveniente se presenta al momento de ejecutar la función buscarv

Range("AF7").Select

    ActiveCell.FormulaR1C1 = _

        "=VLOOKUP(Tabla_Consulta_desde_BckKroma[[#This Row],[IDTarima]],SubirTarima!C[-31]:C[-27],2,0)"

           Range("AF7").Select

Aplico la fórmula anterior y cuando realizó está opción se tarda al rededor de 5 minutos por cada buscarv que calcula, en el libro puedo observar como aparece (calculando 2 procesadores) x%.

Y este tiempo es lo que hace que la macro no sea productiva. Me podrían ayudar con esto, se los agradezco mucho.

1 respuesta

Respuesta
1

Lo que hace tu instrucción es 'colocar' la fórmula en una celda, lo que hará que se recalcule toda la hoja y si tiene muchas fórmulas el recalculo hará la demora.

La pregunta entonces es: ¿Necesitas la fórmula en la celda o necesitas obtener el resultado de la búsqueda?

Si se trata de lo 1ro, debieras pasar a modo de cálculo manual antes de colocar todas las fórmulas y luego de todas las instrucciones del tipo Activecell.Fórmula... volverlo a automático. Estas serían las instrucciones:

    Application.Calculation = xlManual
'instruccions de fórmulas
    Application.Calculation = xlAutomatic

Si solo necesitas obtener el resultado de la búsqueda, enviame una hoja con algo de datos para desarrollarte el código apropiado (o dejame un correo tuyo y te solicito la muestra)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas