Velocidad de captura

Que tal Fernando, otra vez pido tu ayuda, ¿Recuerdas lo de las celdas de captura que me echaste la mano?, para capturar en una hoja y se vayan registrando en otra, bueno, pues ya lo integré en mi libro de trabajo, pero en este libro tengo hojas con varias fórmulas para rastrear materiales por periodos, fechas, etc, llevar la vida de los herramentales, y otras cosas. Bueno, pues cuando integré la macro a mi libro, cada vez que activo la macro de captura, tarda como 5 minutos en capturar el registro en la base de datos, y al tenerla la pura macro como me ayudaste a hacerla, no tarda nada, sólo al estar con las otras hojas, no sé si tenga que ver por el tamaño (1,194 kb) o a que se deba, a ver si me puedes apoyar para agilizar el tiempo de captura. Saludos.

1 respuesta

Respuesta
1
En principio, la macro proporcionada no debería tardar o hacer más lenta a tu planilla. Tampoco tiene que ver el peso del archivo (tengo algunos que superan los 20.000 kb).
En cambio sí tiene mucho que ver la cantidad, complejidad y arquitectura de las fórmulas que en él utilizas.
Supongo que tu planilla debe estar seteada para recalculo automático. Esto es:cada vez que un dato nuevo -involucrado en las fórmulas- es ingresado o modificado, todas las fórmulas son recalculadas.
Configurar tu planilla para que se recalcule manualmente, es decir cunado tu lo decidas (presionando F9) debería resolver tu problema y, además, haría más ágil la carga de datos.
Sin embargo, si indefectiblemente necesitas que tu planilla se recalcule automáticamente agrega estas 2 líneas al principio de la macro propuesta:
Application.Calculation = xlCalculateManual
Application. Calculate
(i.e.: Antes de ejecutar el proceso, la macro configura la planilla para recalculo manual)
y, para que devuelva el estado automático, coloca esta otra instrucción al final de la macro (antes de End Sub, obviamente):
Application.Calculation = xlCalculationAutomatic
Application. Calculate
Si es como pienso, esto debería acelerar notablemente el proceso de transferencia a la base de datos.
Que tengas un buen fin de semana.
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas