Referencia a celda de otra hoja en VBA Urgente

16/02/2008 - 05:54 por Jorge Luis | Informe spam
Buenas Noches!

Mi inquietud es la siguiente:

Tengo un libro con varias hojas, y debo hacer un macro que copie algunos
valores de la Hoja 1 en la hoja 2, pero que no solo me copie el valor sino la
referencia completa por ejemplo que en la celda A1 de la hoja2 aparezca
=Hoja1!A22
Lo que pasa es que es un trabajo que debo hacer y necesitan que si se cambia
un valor en la hoja1 inmediatamente cambie en las otras hojas en las que
tiene referencia y si solo copio los valores el cambio automatico no es
posible.

Muchisimas gracias por la colaboracion que me puedan prestar.

Nota: He buscado mucho pero solo encuentro opciones para copiar el valor, no
se si es que no existe una que copie la referencia completa a otra hoja.
 

Leer las respuestas

#1 Héctor Miguel
16/02/2008 - 08:56 | Informe spam
hola, Jorge Luis !

Tengo un libro con varias hojas, y debo hacer un macro que copie algunos valores de la Hoja 1 en la hoja 2
pero que no solo me copie el valor sino la referencia completa por ejemplo que en la celda A1 de la hoja2 aparezca =Hoja1!A22
Lo que pasa es que es un trabajo que debo hacer y necesitan que si se cambia un valor en la hoja1
inmediatamente cambie en las otras hojas en las que tiene referencia y si solo copio los valores el cambio automatico no es posible.
Nota: He buscado mucho pero solo encuentro opciones para copiar el valor
no se si es que no existe una que copie la referencia completa a otra hoja.



op1: puedes usar el metodo ".Paste" aplicado a un objeto Worksheet con el argumento "Link" en True
-> DESPUES de que hayas hecho un ".Copy" de alguna celda o rango en alguna otra hoja (p.e.)

Worksheets("hoja1").Range("a22").Copy
Worksheets("hoja2").Paste Link:=True
Application.CutCopyMode = False

solo que...
a) no puedes especificar a que celda (o rango) se hace el pegado de la formula (o vinculo)
b) se hara siempre EN (o a partir de) la celda que este como "activa" en la otra hoja ("hoja2" en este caso)
c) seria necesario primero activar la hoja y rango "destino" y luego hacer el Copy / Paste-Link :-((

op2: puedes poner formulas por codigo (la formula que solicitas seria algo +/- como lo siguiente):

Worksheets("hoja2").Range("b35").Formula = "=hoja1!a22"

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares