Reemplazar con una Macro

Hola! Espero puedas darme una mano con esto!
Tengo una celda (A1) con el siguiente texto: B25
un la celda (A2) con el Siguiente texto: B26
y una Celda (A3) con la siguiente fórmula: =1+B25
Quiero crear una macro que me REEMPLACE el B25 de la fórmula por B26...
Hasta ahí está fácil... El problema está en que cuando cambio el Contenido de la Celda A2 por X99 quiero que la macro me cambie la fórmula de A3 por 1+X99
Es decir que busque todos los B25 de la hoja y los sustituya por B26
Yo hice esta:
Range("A1").Select
    Selection.Copy
Range("A2").Select
    Selection.Copy
    Cells.Replace What:="B25", Replacement:="B26", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Range("A1").Select    Selection.Copy    Range("A2").Select    Application.CutCopyMode = False    Selection.Copy    Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Pero solo me cambia B25 por B26...
Es decir no lee el contenido de las celdas A1 y A2 dinámicamente, sino que quedan predeterminado los valores B25 y B26
Por favor dame un mano... Me evitaría horas... Horas... Y horas... De trabajo...
Gracias!

2 respuestas

Respuesta
1
Bueno la verdad fue que no entendí muy bien como debe trabajar la macro con respecto a realizar el remplazo de texto, a continuación le dejo una macro que creo que hace lo que necesita:
Sub remplazar()
a = Range("A2").Value
d = Range(a).Column
e = Mid(Range("A2").Value, 3, 5)
    Range("A3").Select
    ActiveCell.FormulaR1C1 = "=1+R" & [e] & "C" & [d]
    Range("A4").Select
End Sub
En A2 pone un rago ejemplo CD50 y la macro lo que hace es agregar el CD50 a la función que se encuentra alojada en A3, debo anotar que esta macro ya esta debidamente probada y funciona correctamente, si le ha sido la respuesta correcta NO OLVIDAR PUNTUAR Y FINALIZAR LA PREGUNTA, de lo contrario no finalice la consulta hasta obtener la solución ideal, que tenga un feliz día!
Hola! Muchas gracias por responder, he resuelto mi problema hace unos días ya, aún así tu respuesta es acertada!
Te tendré en cuenta para otra oportunidad porque veo que me has logrado entender.
Respuesta
1
Ponerme un poco en tema, vos tenés en la en la hoja varias referencias a varias seldas, "A1" hace referencia a "B25", "A2" a "B26" y en otras seldas también tenés referencia a "B25" que vos querés reemplazar por "B26" ¿correcto?
Según lo que entiendo, lo que estás tratando de hacer es que la macro que reemplace lo que tengas en la celda "A1" por lo que diga en "A2". Claro que en base a lo que te ponés, también podría ser que vos querés reemplazar lo que diga en la celda a la que "A1" haga referencia por lo que haya en la celda a la que "A2" haga referencia, en este caso, reemplazar lo que hay en "B25" por lo que hay en "B26", una referencia doble (pero esto es más complicado).
   De cualquier modo, vos estás teniendo problemas con Cells.Replace What:="B25", Replacement:="B26" dado que no le estás "harcodeando" el "B25" y el "B26" lo que tenés que cambiar es Cells.Replace What:=Range("A1").Value, Replacement:=Range("A2").value (dejás el reto de la sentencia igual), para que te tome el valor de esas celdas. (Esto sirve para la primera suposición)
En cuanto al:
Range("A1").Select
    Selection. Copy
No tiene efecto, dado que después lo reemplazás con el
Range("A2").Select
    Selection. Copy
Y tampoco le veo la utilidad a ello.
Decime si me equivoqué en mi suposición y si puedo ayudarte en algo más.
Hola! Ya he resuelto el problema, ese mismo día!
Y si, era como lo acabas de escribir...
Muchas Gracias de todos modos, te tendré en cuenta para cualquier otra ocasión, porque veo que me lograste entender.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas