Macro para hacer rápida el recorrido de miles de celdas en una columna
Adjunto el código con el cual el código "For i = 2 To 40000" recorre 40,000 filas. Quisiera saber si el código adjunto se puede optimizar para que la macro se realice más rápido ya que se demora mucho así como esta.
Agradezco por las enseñanzas.
'inicializo la variable j j = 2 'comienzo el bucle For i = 2 To 40000 'activo la hoja donde están mis datos Sheets("Report").Activate 'compruebo que el valor que sea mayor a 0 If Cells(i, "B").value > 0 Then 'copio la fila entera Range(Cells(i, "A"), Cells(i, "BB")).Cut 'selecciono la hoja donde quiero pegar y después la celda Sheets("PreDespacho").Activate Range("A1").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Loop 'pego la fila que hemos copiado ActiveSheet.Paste 'aumento la variable j para que vaya a la siguiente fila de la hoja filtros 'cuando encuentre una nueva fila que cumple con la condición de edad j = j + 1 End If Next 'elimino las filas vacias Sheets("Report").Activate Set a = Sheets("Report") uf = a.Range("A" & Rows.Count).End(xlUp).Row For x = uf To 2 Step -1 If a.Cells(x, 1) = Empty Then Cells(x, 2).EntireRow.Delete Next x
2 Respuestas
Respuesta de James Bond
2
Respuesta de Cecilio Pérez Maqueda
1