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.
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.
Respuesta de rcpr
1