Referencia circular

Hola! He sumado en una celda el total de los valores que pondo en otra celda ej: a1=suma(a1;b1), que me funciona con una iteración, pero al hacerlo en una columna ej: a2=suma(a2;b2) etc... Y añadir valores a las celdas de "b" me sigue sumando en las anteriores el valor que ha quedado en "b" ¿Cómo puedo solucionarlo? Gracias

2 respuestas

Respuesta
1
Una formula en una celda no puede hacer referencia al resultado de la propia celda , segun lo que has escrito arriba a1=suma(a1;b1), a2=suma(a2;b2) etc...
Todas las fórmulas que has hecho están mal formuladas, porque el resultado de cada una depende de ellas mismas.
Según ese planteamiento, estas diciendo que el valor de la celda A1 es igual al resultado de lo que tiene A1 + B1, es como decir que tu coche mide lo que mide tu coche más 3, y ese mismo error lo tienes en todas las fórmulas según planteas.
Mandame un ejemplo concreto de lo que quieres hacer .
La referencia circular la he solucionado activando la iteración con 1 iteración, pero no funciona bien por que aunque trabaje en otras celdas me sigue sumando en las anteriores. No se como hacer lo que me propones
Si las celdas de la columna A se tienen que alimentar de las celdas de la misma fila de columna B, es decir, A1 se alimenta de B1, A2 de B2, etc ...
Sub Macro1()
For x = 1 To 10
Range("A" & x).Value = Range("A" & x).Value + Range("B" & x).Value
Next x
End Sub
No existe ninguna fórmula que recuerde los valores anteriores de una celda y le vaya acumulando cada valor diferente que se va introduciendo en la misma celda. Eso se ha de hacer por código.
Pon el código siguiente en un modulo de VBA y cuando quieras que el valor de A2 se acumule al de A1 Herramientas>Macro>Macros>Macro1 Ejecutar.
Sub Macro1()
Range("A1").Value = Range("A1").Value + Range("A2").Value
End Sub
Necesito el resultado total de los valores que pongo en una celda, ej: en a1 tiene que ir sumando los valores que pongo en a2, si en a2 pongo 10, luego 3 y luego 5, en a1 me tiene que poner 18.
En a2 pongo las salidas puntuales y en a1 quiero las salidas totales.
Muchas Gracias!
Me has solucionado el problema y ademas rapido.
De verdad gracias.
Eso es lo que buscaba. Gracias!
Una cosa más, hay alguna forma para que la macro se ejecute en varias celdas de la misma columna, ¿sin tener que hacer una macro para cada una? Por ejemplo de de A1 hasta A10
No le puedes pedir a una celda que se sume a sí misma.
En A1 no puedes poner =SUMA(A1;B1) porque te da un error de referencia circular, reformula seleccionando solo las celdas de donde tiene que ir acumulando los valores sin seleccionar la propia celda resultado.
Respuesta
1
Cuando una fórmula hace referencia a su propia celda, directa o indirectamente, se denomina referencia circular.
Tú en la celda A1 estas volviendo a sumarlo el A1.
Tienes que hacer tu fórmula en otra celda diferente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas