............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Duda celda

Ver el tema anterior Ver el tema siguiente Ir abajo

Duda celda

Mensaje por cirisarri el Miér Jun 01, 2011 4:30 pm

Hola tengo un pequeño problema y necesito ayuda.
Como hacer para que en una celda que contiene un numero, yo pueda poner otro y este valor se sume al que contenía antes y se sume en una celda contigua y que esta opetación se pueda realizar un número infinito de veces?
Tambien debe admitir la entrada de numeros negativo por lo que tambien restaría a la cantidad.

Gracias de antemano.

cirisarri

Masculino Cantidad de envíos : 3
Edad : 49
Ciudad - Pais : España
Version de Excel : 2003
Fecha de inscripción : 08/06/2009

Volver arriba Ir abajo

Re: Duda celda

Mensaje por GalileoGali el Sáb Jun 04, 2011 1:53 pm

Nombre para A1 = cargador
para B1 = Totalizador

Código:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> Range("Cargador").Address Then Exit Sub

Application.EnableEvents = False
Dim acumulado As Single
acumulado = Range("Totalizador").Value


Range("Totalizador") = acumulado + Range("Cargador")
Application.EnableEvents = True

End Sub

cargas el Numero en A1 y el resultado esta en B2

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Duda celda

Mensaje por ioyama el Dom Jun 05, 2011 3:26 pm

Hola Gali

Dado que el acumulado se hace en otra celda no bastaría con

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Range("B1") = Range("B1") + Target
End Sub

Otra cosa es que el acumulad se debiera reflejar en la misma celda en la que se introduce el dato.

Un saludo desde Vitoria

ioyama
Moderador
Moderador

Masculino Cantidad de envíos : 128
Edad : 54
Ciudad - Pais : Vitoria (España)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Duda celda

Mensaje por GalileoGali el Dom Jun 05, 2011 4:43 pm

IO: tienes toda la razón.....resulta un paso innecesario

Gracias

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Duda celda

Mensaje por HBanchieri el Dom Jun 05, 2011 6:18 pm

Para profundizar mas el tema pongo una opción usando formula con “Referencia Circular”.
Aclaro que no es una solución creada por mí, sino que por “Adrián” en otro foro; apenas la comparto yo. (No creo que al autor le moleste ya que la idea es divulgar el conocimiento)
Confieso que a mí no me ocurriría tal solución antes de haberla visto, con seguridad servirá a alguien más.

Por Adrian...
"Hola, lo tuyo va por el lado de referencia circular, en Excel 2007 sigues estos pasos:
1) Botón Office
2) Opciones de Excel
3) Seleccionar (en el panel izquierda) Fórmula
4) En el panel de la derecha indicar Marcar la casilla Habilitar cálculo iterativo
5) Indicar Iteracciones máxima = 1

En Excel 2010:
1) Archivo
2) Opciones
3) Formulas
4) En el panel de la derecha indicar Marcar la casilla Habilitar cálculo iterativo
5) Indicar Iteracciones máxima = 1


Ver adjunto."https://skydrive.live.com/redir.aspx?cid=837B040E836E38B5&group=0&resid=837B040E836E38B5%21367

HBanchieri

Masculino Cantidad de envíos : 16
Edad : 53
Ciudad - Pais : Santa Cruz - Bolivia
Version de Excel : 2010
Fecha de inscripción : 07/05/2011

Volver arriba Ir abajo

Re: Duda celda

Mensaje por cirisarri el Dom Jun 05, 2011 7:58 pm

Gracias a los tres, todas las respuestas son excelentes y las aplicaré, pero tengo otra consulta y es que como puedo aplicarla a varias celdas en varias columnas y filas y que todas funcionen de forma independiente.
Un saludo.

cirisarri

Masculino Cantidad de envíos : 3
Edad : 49
Ciudad - Pais : España
Version de Excel : 2003
Fecha de inscripción : 08/06/2009

Volver arriba Ir abajo

Re: Duda celda

Mensaje por GalileoGali el Dom Jun 05, 2011 11:11 pm

El uso de referencias circulares con Habilitar calculo relativo tiene en este ultimo procedimiento una modifcacion directa sobre el objeto Application que no es otro que Excel Mismo. Por ende queda establecida la conducta para todo el archivo e inclusive para otrs que se abran bajo la misma instancia de Excel

Prueba modificando la macro de Ioyama asi

Código:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Target.Offset(0,1) = Target.Offset(0,1)+ Target
End Sub


_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Duda celda

Mensaje por HBanchieri el Lun Jun 06, 2011 12:15 am

Gracias, esta era una pregunta que pensaba hacerla en algún momento, ya que he buscado información sobre el tema y no he encontrado respuesta, (en Ayuda no hace referencia sobre el alcance del cambio; sin embargo era de imaginarse)

HBanchieri

Masculino Cantidad de envíos : 16
Edad : 53
Ciudad - Pais : Santa Cruz - Bolivia
Version de Excel : 2010
Fecha de inscripción : 07/05/2011

Volver arriba Ir abajo

Re: Duda celda

Mensaje por cirisarri el Lun Jun 06, 2011 11:40 am

Muchas gracias por las respuestas.
Duda resuelta.
Es un placer poder contar con tan inestimables maestros.
Un saludo para todos.

cirisarri

Masculino Cantidad de envíos : 3
Edad : 49
Ciudad - Pais : España
Version de Excel : 2003
Fecha de inscripción : 08/06/2009

Volver arriba Ir abajo

Re: Duda celda

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.