Como reinicio una Referencia Circular

13/08/2006 - 22:00 por Sergio | Informe spam
Hola

Por favor, necesito hacer sumas mensuales en una celda que tiene una
Referencia circular, pero a final de mes, debe reiniciar en cero (0), como
hago para hacerlo
Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/08/2006 - 05:12 | Informe spam
hola, Sergio !

... necesito hacer sumas mensuales en una celda que tiene una Referencia circular
pero a final de mes, debe reiniciar en cero (0), como hago para hacerlo



[para empezar]... podrias exponer detalles mas... 'concretos' ? [p.e.]
- cual es la formula que utilizas ?
- el porque [la necesidad] de una referencia 'circular' ?
- como se podria 'detectar' un cambio/fin/... de mes ?
- 'cosas'... por el estilo que [tu sabes cuales] son necesarias para ofrecer propuestas 'concretas' :))

saludos,
hector.
Respuesta Responder a este mensaje
#2 Sergio
14/08/2006 - 15:45 | Informe spam
Hola Hector

Muchas gracias por responder, mi problema es como hago que en una celda, se
incremente el valor que tiene: por ejemplo

C45 = 100
D45 = 200, la fórmula que tengo en D45 es muy sencilla D45Ô5 + C45
Osea, cada vez que cambia C45, esto se debe sumar en D45, y al final de mes,
poder llevar a 0 a D45, para iniciar otra vez el acumulado de D45

Atte
Sergio

"Héctor Miguel" escribió:

hola, Sergio !

> ... necesito hacer sumas mensuales en una celda que tiene una Referencia circular
> pero a final de mes, debe reiniciar en cero (0), como hago para hacerlo

[para empezar]... podrias exponer detalles mas... 'concretos' ? [p.e.]
- cual es la formula que utilizas ?
- el porque [la necesidad] de una referencia 'circular' ?
- como se podria 'detectar' un cambio/fin/... de mes ?
- 'cosas'... por el estilo que [tu sabes cuales] son necesarias para ofrecer propuestas 'concretas' :))

saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
14/08/2006 - 23:40 | Informe spam
hola, Sergio !

... como hago que en una celda, se incremente el valor que tiene: por ejemplo
C45 = 100
D45 = 200
... tengo en D45... D45Ô5 + C45
... cada vez que cambia C45... se debe sumar en D45
... al final de mes poder llevar a 0 a D45, para iniciar otra vez el acumulado...



para el caso especifico que planteas [creo que] lo mas 'adecuado' es manejar los eventos por cambios 'en esa' hoja [p.e.]
suponiendo que 'la hoja' se llama 'hoja1', y que puedes 'disponer' de la celda 'A1' para el 'control' de cambios de mes...
copia/pega las siguientes lineas en el modulo de codigo [en el editor de vba] de cada objeto indicado:

1) en el modulo de codigo del libro [ThisWorkbook] ==Private Sub Workbook_Open()
With Worksheets("hoja1")
If Month(Date) <> .Range("a1") Then
.Range("a1") = Month(Date)
.Range("c45:d45").ClearContents
End If
End With
End Sub

2) en el modulo de codigo de 'esa' hoja [o sea, de la 'hoja1'] ==Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$45" Then [c45] = [c45] + [d45]
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Sergio
15/08/2006 - 01:01 | Informe spam
UFF

me la pones dura, yo solo se trabajar en la hoja de cálculo, pero veré como
se hace lo que tu me indicas, de todos modos, no existe una funcion en la
misma celda para solucionar este problema ??

Sergio


"Héctor Miguel" escribió:

hola, Sergio !

> ... como hago que en una celda, se incremente el valor que tiene: por ejemplo
> C45 = 100
> D45 = 200
> ... tengo en D45... D45Ô5 + C45
> ... cada vez que cambia C45... se debe sumar en D45
> ... al final de mes poder llevar a 0 a D45, para iniciar otra vez el acumulado...

para el caso especifico que planteas [creo que] lo mas 'adecuado' es manejar los eventos por cambios 'en esa' hoja [p.e.]
suponiendo que 'la hoja' se llama 'hoja1', y que puedes 'disponer' de la celda 'A1' para el 'control' de cambios de mes...
copia/pega las siguientes lineas en el modulo de codigo [en el editor de vba] de cada objeto indicado:

1) en el modulo de codigo del libro [ThisWorkbook] ==> Private Sub Workbook_Open()
With Worksheets("hoja1")
If Month(Date) <> .Range("a1") Then
.Range("a1") = Month(Date)
.Range("c45:d45").ClearContents
End If
End With
End Sub

2) en el modulo de codigo de 'esa' hoja [o sea, de la 'hoja1'] ==> Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$45" Then [c45] = [c45] + [d45]
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Respuesta Responder a este mensaje
#5 Héctor Miguel
15/08/2006 - 03:12 | Informe spam
hola, Sergio !

... yo solo se trabajar en la hoja de calculo, pero vere como se hace lo que tu me indicas
de todos modos, no existe una funcion en la misma celda para solucionar este problema ??



[primero]: una correccion a la propuesta del modulo de codigo de 'la hoja' :)) cambiarlo a:
2) en el modulo de codigo de 'esa' hoja [o sea, de la 'hoja1'] ==Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$45" Then [d45] = [d45] + [c45]
End Sub

[segundo]: alguna funcion [de hoja de calculo] para solucionar 'el problema' ?
-> aparte de 'forzar' la referencia circular [no creo que sea posible, ademas]...
-> ninguna funcion de hoja de calculo puede 'manipular' el contenido de otras celdas :-(
[por lo cual] el volver a poner el contador a ceros [en cada cambio de mes]...
[me temo que]... tendra que seguir siendo... 'a pie' :))

si cualquier duda... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida