REFERENCIA CIRCULAR

18/01/2008 - 20:30 por Orfao | Informe spam
Hola Foristas !
Tengo un perqueño (Gran) problema
en la hoja1 incruste un cuadro de verificacion vinculado a la celda A1
Entonces, tengo en Hoja1: D29=+M29 y M29=+SI(ESERR(hoja2!D32),0,hoja2!D32)
y en hoja2!D32=+SI(hoja1!A1,Hoja1!D29,SI(E20,E29/E20,0))
pero deseo que al activar el cuadro me cambie D29=valor(Hoja2!D32) (No la
formula)
y simultaneamente en Hoja2 me cambie la formula que tengo D32 por el nuevo
valor que tengo en Hoja1!D29
como hacer para evitar el mensaje de referencia circular.?
he intentado lo siguiente.
Private Sub CheckBox1_Change()
Application.DisplayAlerts = False
ActiveCell.Activate
If Me.CheckBox1.Value = False Then
[d29].FormulaR1C1 = "=+RC[9]"
[d29].Locked = True
Else
[d29].Locked = False
[d29] = [m29].Val
[d29].Activate
End If
End Sub




Me alimento del conocimiento de todos
 

Leer las respuestas

#1 Héctor Miguel
18/01/2008 - 22:32 | Informe spam
hola, moises !

en la hoja1 incruste un cuadro de verificacion vinculado a la celda A1
Entonces, tengo en Hoja1: D29=+M29 y M29=+SI(ESERR(hoja2!D32),0,hoja2!D32)
y en hoja2!D32=+SI(hoja1!A1,Hoja1!D29,SI(E20,E29/E20,0))
pero deseo que al activar el cuadro me cambie D29=valor(Hoja2!D32) (No la formula)
y simultaneamente en Hoja2 me cambie la formula que tengo D32 por el nuevo valor que tengo en Hoja1!D29
como hacer para evitar el mensaje de referencia circular.?



1) es realmente necesario usar tus referencias circulares en las formulas que expones ?...
(hasta donde se) la unica forma de hacer validas las referencias circulares (es decir)...
cuando una celda necesita calcular con referencia a los valores en ella misma
es habilitando la opcion de iteraciones en (menu) herramientas / opciones / (ficha) calcular
PERO... debes mantener en perspectiva la posibilidad de que otros resultados no sean los actuales (realmente)
ya que veras de manera permanente que la aplicacion esta esperando un re/calculo ("calcular" en la barra de estado)

2) si activas la opcion de iteraciones (aun con solo 1 iteracion), te toca evaluar que tantos resultados desvarian (p.e.)
a) cada vez que se realice un re/calculo... se correran las n_iteraciones para cada celda con referencias circulares
b) lo anterior, bajo un control de resultados esperados puede ser de utilidad (bajo ciertas circunstancias controladas/conocidas/...)

3) tambien seria bueno si expones cual es el objetivo que buscas con esta intrincada red de "dependencias", ya que...
a) la base de excel como hoja de calculo, es llevar el registro (pista o tracking)
-> de cual/es celda/s depende/n de cual/es otra/s (por lo tanto)
b) si una referencia circular se produce porque alguna/s celda/s llegan a depender de los calculos en ella/s misma/s
excel no siempre es capaz de detectar si la referencia circular ha sido intencional (de manera directa o indirecta) -?-
c) al usar las iteraciones reduces la posibilidad de calculos infinitos (por referencias circulares sin solucion)...
(etc. etc. etc.) :))

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

Preguntas similares