Saltar al contenido

Buscar y reemplazar


Recommended Posts

publicado

Buenas tardes, me gustaría ver como puedo realizar una macro para hoja1 en la que tengo 2 campos (nºpedido y fecha) para que me busque dentro de hoja2 (nºpedido, proveedor, fecha) los registros para los que coinciden el "nº de pedido" y cambiar la fecha por la correspondiente (la de hoja1).

Pues como no sé si me expliqué en condiciones os adjunto archivo

buscar y reemplazar datos.rar

publicado

Gracias por contestar Armando, pero es que tiene que ser una macro para que me actualice todos los dias el campo fecha de hoja1, ya que hoja 1 va ha ser pegada en su totalidad de otra hoja.

Un saludo y gracias por tu interes

publicado

Me temo Armando que va ha ser un poco dificil, o al menos no sabria como hacer esto con la grabadora, ten en cuenta que lo que quiero hacer en realidad es recorrer dos tablas, primeramente en hoja1 coger el primer registro y buscarlo en la hoja2 y si lo encuentra cambiar la fecha por la fecha que sale en hoja1. A todo esto teniendo en cuenta que pueden ser mas de 2000 archivos y que hoja2 es una copia pegada de otro lado y que cambia diariamente es por esto que todos los dias quiero que me realice esta accion para toda la tabla de 2000 registros. (nota: al copiar diariamente se machaca todo lo que habia en la hoja2, es por esto por lo que no puedo usar "buscarv" porque me borraria la formula.)

Sorry si no me explico bien. Un saludo

publicado

Hola, las herramientas nativas de excel generalmente son mas eficientes que las macros, que no son una panacea, combinando excel con vba se puede decir que obtienes lo major de ambas.

La grabadora es facil de usar: Mi primer macro en excel : Hojas de cálculo Excel

Dos codigos que hacen lo mismo: el primero es el grabado y el segundo esta editado:

Sub Grabado()
Range("D2:D8").Select
Selection.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-2],Hoja1!R1C[-3]:R4C[-2],2,0),"""")"
Selection.NumberFormat = "m/d/yyyy"
End Sub
Sub Depurado()
With Sheet2.Range("D2:D8")
.Formula = "=IFERROR(VLOOKUP(B2,Hoja1!A$1:B$4,2,0),"""")"
.NumberFormat = "m/d/yyyy"
End With
End Sub[/CODE]

Despues que lo pruebes te dare lo que notaras que falta.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.