Mejorar la velocidad de una macro
Tengo una macro cuya función es recorrer toda la Columna C de una hoja de excel hasta la ultima celda con un valor, luego mediante Offset baja 5 celdas e inserta los datos de un formulario, este es el código para una mayor claridad
Private Sub btnacp_Click()
Sheets("ITEMS").Select
Range("C7").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(4, 0).Select
Loop
ActiveCell = lblelab.Caption
ActiveCell.Offset(0, 1).Select
ActiveCell = cbxelb.Value
ActiveCell.Offset(1, -1).Select
ActiveCell = lblrev.Caption
ActiveCell.Offset(0, 1).Select
ActiveCell = cbxrev.Value
ActiveCell.Offset(1, -1).Select
ActiveCell = lblfch.Caption
ActiveCell.Offset(0, 1).Select
ActiveCell = DTPfch.Value
ActiveCell.Offset(1, -1).Select
ActiveCell = lblinf.Caption
ActiveCell.Offset(0, 1).Select
ActiveCell = txtinf.Value
ActiveCell.Offset(1, -1).Select
ActiveCell = lblusu.Caption
ActiveCell.Offset(0, 1).Select
ActiveCell = txtusu.Value
ActiveCell.Offset(1, -1).Select
ActiveCell = lbleqp.Caption
ActiveCell.Offset(0, 1).Select
ActiveCell = txteqp.Value
ActiveCell.Offset(1, -1).Select
End SubEl problema al que le quiero dar solucion es la velocidad, ya que por la cantidad de datos que tengo
(8879 filas) se demora mucho para recorrer la columna, y no le doy celdas especificas para insertar los valores ya que ese numero de filas puede crecer o decrecer, así que si alguien sabe como puedo modificar el código para que sea más veloz le agradecería mucho si me ayudara.
1 Respuesta
Respuesta de James Bond
1


en esta otra imagen ves el resultado final de la macro (si quieres puedes eliminar los select son solo para mostrarte con que datos trabaja la macro)