Macro muy lenta

Hola expertos por favor necesito de su ayuda urgente, sucede que tengo una macro que es muy lenta cuando se ejecuta; esta macro me permite pasar los datos de un formulario en una hoja de excel a una base de datos (otra hoja en excel), la macro con la que cuento es la siguiente:
Sub ingrdata()
    Dim linea_libre As Long
    Application.ScreenUpdating = False
    Sheets("BDControl").Select
        linea_libre = WorksheetFunction.CountA(Range("A:A")) + 1
        Cells(linea_libre, 1).Value = Sheets("ModAsistencia").[A37]
        Cells(linea_libre, 2).Value = Sheets("ModAsistencia").[B37]
        Cells(linea_libre, 3).Value = Sheets("ModAsistencia").[C37]
        Cells(linea_libre, 4).Value = Sheets("ModAsistencia").[D37]
        Cells(linea_libre, 5).Value = Sheets("ModAsistencia").[E37]
        Cells(linea_libre, 6).Value = Sheets("ModAsistencia").[F37]
        Cells(linea_libre, 7).Value = Sheets("ModAsistencia").[G37]
        Cells(linea_libre, 8).Value = Sheets("ModAsistencia").[H37]
        Cells(linea_libre, 9).Value = Sheets("ModAsistencia").[I37]
        Cells(linea_libre, 10).Value = Sheets("ModAsistencia").[J37]
        Cells(linea_libre, 11).Value = Sheets("ModAsistencia").[K37]
        Cells(linea_libre, 12).Value = Sheets("ModAsistencia").[L37]
        Cells(linea_libre, 13).Value = Sheets("ModAsistencia").[M37]
        Cells(linea_libre, 14).Value = Sheets("ModAsistencia").[N37]
        Cells(linea_libre, 15).Value = Sheets("ModAsistencia").[O37]
        Cells(linea_libre, 16).Value = Sheets("ModAsistencia").[P37]
        linea_libre = WorksheetFunction.CountA(Range("A:A")) + 1
        Cells(linea_libre, 1).Value = Sheets("ModAsistencia").[A38]
        Cells(linea_libre, 2).Value = Sheets("ModAsistencia").[B38]
        Cells(linea_libre, 3).Value = Sheets("ModAsistencia").[C38]
        Cells(linea_libre, 4).Value = Sheets("ModAsistencia").[D38]
        Cells(linea_libre, 5).Value = Sheets("ModAsistencia").[E38]
        Cells(linea_libre, 6).Value = Sheets("ModAsistencia").[F38]
        Cells(linea_libre, 7).Value = Sheets("ModAsistencia").[G38]
        Cells(linea_libre, 8).Value = Sheets("ModAsistencia").[H38]
        Cells(linea_libre, 9).Value = Sheets("ModAsistencia").[I38]
        Cells(linea_libre, 10).Value = Sheets("ModAsistencia").[J38]
        Cells(linea_libre, 11).Value = Sheets("ModAsistencia").[K38]
        Cells(linea_libre, 12).Value = Sheets("ModAsistencia").[L38]
        Cells(linea_libre, 13).Value = Sheets("ModAsistencia").[M38]
        Cells(linea_libre, 14).Value = Sheets("ModAsistencia").[N38]
        Cells(linea_libre, 15).Value = Sheets("ModAsistencia").[O38]
        Cells(linea_libre, 16).Value = Sheets("ModAsistencia").[P38] 
    Sheets("ModAsistencia").Select
    Application.ScreenUpdating = True
    MsgBox "Asistencia Ingresada con Éxito"
        borrarplaning
End Sub
Nota: Se repite la misma sentencia hasta [A44]...[P44]
Por favor me es muy imprescindible su apoyo, necesito que esta macro se ejecute de una manera más rápida.

1 Respuesta

Respuesta
1
Esto no tarda, ¿qué hace borraplaning?
Cuando sepas que hace borrarplaning, lo haremos más rapido, tengo tu solución, pero mira esto y hablamos.
Muchas gracias por tomarte la molestia de responder, en verdad te estoy muy agradecido, para que tengas una mayor referencia, esta macro pertenece a un modulo de control de asistencia en la empresa en la que laboro, si deseas te puedo enviar el archivo, mi correo es: [email protected], dejame ahí un mensaje y te envío el archivo mencionado.
Lo que hace "borrarplaning", es borrar todos los datos del formulario de ingreso después de haber sido almacenado los datos en la base de datos; hay que tener muy en cuenta que así como esta el ejemplo que puse en el blog (guardar los datos de la fila A37 hasta P37 y de A38 hasta P38) la sentencia sigue secuencialmente hasta llegar a la fila 44, lamentablemente no pude copiar toda la sentencia debido a lo extenso de la macro.
Espero tu respuesta, una vez más muchas gracias por tu valiosa ayuda.
Te envíe un mail.
Muchas gracias por tu valiosa ayuda, con unas cuantas modificaciones más el archivo que me enviaste quedo genial.
Saludos cordiales, hasta una nueva oportunidad.
Miguel Angel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas