Buenos dias:
Tengo una columna en la que como resultado de una formula me pueden aparecer 2 valores diferentes. Un valor numérico o un texto indicando EXCLUIDO. Estoy intentando hacer una macro para que las celdas que tienen como resultado EXCLUIDO se borre la formula y aparezca diretamente el texto sin fórmula.
El problema es que con .find si tengo la opcion de buscar en valores, pero en .replace no.
Podría hacerlo recorriendo todo el rango de datos en la columna con una macro y sustituyendo, pero son muchos datos y es lento.
A alguien se le ocurre una forma rápida de hacerlo??
Un saludo y muchas gracias
Recorre el rango con CELLS(f,c)
No selecciones las celdas. Simplemente comprueba su valor con CELLS(f,c).value y sustitúyelo cuando lo necesites.
Algo así como:
if cells(i,j).value = "EXCLUIDO" then cells(i,j).formula = "='EXCLUIDO"
Al trabajar solo en memoria, es mucho más rápido.
Saludos
Nota: no he probado el código, es posible que necesite pequeñas correcciones.
Muchisimas gracias Cron, finalmente lo he hecho como tu me has indicado y no va demasiado lento
If Cells(I, 6).Value = "EXCLUIDO" Then Cells(I, 6).Formula = "EXCLUIDO"
Un saludo
Si al principio de la macro escribes:
Application.ScreenUpdating = False
La cosa irá un poco más rápida. A cambio, no podrás ir viendo cómo se cambian las cosas, únicamente verás las cosas cambiadas al final.
Un saludo