Macro Buscar Determinadas celdas con cierta fórmula y pegar el resultado de las mismas
Por internet he conseguido el siguiente código:
On Error Resume Next
For Each Hoja In Sheets
For Fila = 1 To _
Hoja.Cells.Find("]Portada'!", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For Columna = 1 To _
Hoja.Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
Hoja.Cells(Fila, Columna) = Hoja.Cells(Fila, Columna)
Next
Next
Next
End Sub
Lo que hace esta macro es buscar en todo un libro (En todas las Hojas), todas las celdas que contengan en la fórmula la palabra "]Portada'!", esta palabra porque viene de una referencia a otro libro, apenas la macro encuentra este nombre convierte en valores su respectivo resultado, pero... Aquí viene mi pregunta el libro que tengo donde se ejecuta esta macro consta de aprox de 9 hojas, pero esta macro cuando se ejecuta es muy muy muy demorada aprox 25 minutos, entonces no se porque, realmente en unas hojas esta palabra que debe buscar empieza desde la misma fila uno y en una hoja específicamente esta búsqueda aparece aprox desde la fila 400, entonces no se si por eso se demora, si recorre uno a uno celdas hasta llegar a la 400 y hay si empieza a reemplazar. ¿Señores ustedes creen que hay otra forma de hacer más rápido este trabajo?