Sumar Celda Anterior Sucesivamente

17/11/2003 - 03:30 por Compumakro | Informe spam
Amigos
En la columna 11 (o sea la K) hay un rango de celdas de la 5 a la 10 que
reciben el resultado de suma de celdas de la misma fila. Pero como le hago
para que me sume además la celda anterior de la columna K para el acumulado?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 5 To 10
Cells(i, 11) = Cells(i, 3) + Cells(i, 5) + Cells(i, 7) + Cells(i, 3)
Next i
End Sub

Hasta aquí todo bien, (digo yo). Ahora cómo hago para dar la instrucción
para que se sume de la celda "K6" + "K5", luego la "K7" + "K6" y así
sucesivamente hasta la celda "K10" ?
Gracias y Saludos

Oscar
Barranquilla

Preguntas similare

Leer las respuestas

#1 Víctor
17/11/2003 - 08:51 | Informe spam
Supongo que tienes razones muy poderosas para utilizar
código VBA en una simple suma. Suponiendo que ese rango
de celdas esté comprendido entre las columnas A y J, por
ejemplo, ¿no puedes colocar en K5 la fórmula =SUMA(A5:J5)
y el K6 =SUMA(A6:J6)+K5.. y así sucesivamente? ¿O no
he entendido bien tu problema?

:-)


Amigos
En la columna 11 (o sea la K) hay un rango de celdas de


la 5 a la 10 que
reciben el resultado de suma de celdas de la misma fila.


Pero como le hago
para que me sume además la celda anterior de la columna


K para el acumulado?

Private Sub Worksheet_SelectionChange(ByVal Target As


Range)
For i = 5 To 10
Cells(i, 11) = Cells(i, 3) + Cells(i, 5) + Cells(i,


7) + Cells(i, 3)
Next i
End Sub

Hasta aquí todo bien, (digo yo). Ahora cómo hago para


dar la instrucción
para que se sume de la celda "K6" + "K5", luego la "K7"


+ "K6" y así
sucesivamente hasta la celda "K10" ?
Gracias y Saludos

Oscar
Barranquilla


.

Respuesta Responder a este mensaje
#2 Compumakro
17/11/2003 - 19:55 | Informe spam
Hola Victor,
Yo eso lo sé y lo consideré. A simple vista es una tontería, pero es entre
otras razones:
1- Por seguridad, pues éste archivo lo utilizan 2 personas más que no saben
que existe VBA
2- Porque me fastidia, que las filas que no tienen datos tengan en columna
"K" los mismos resultados repetidos por el solo hecho de tener una fórmula
ingresada.
3- Porque tengo otros archivos con estructuras parecidas y necesito
aplicárselos.
4- Porque en situaciones parecidas no tengo idea cómo resolver suma de filas
más celda anterior donde vaya el resultado.

Gracias y saludo

Oscar
Barranquilla


"Víctor" escribió en el mensaje
news:563f01c3acdf$936c5220$
Supongo que tienes razones muy poderosas para utilizar
código VBA en una simple suma. Suponiendo que ese rango
de celdas esté comprendido entre las columnas A y J, por
ejemplo, ¿no puedes colocar en K5 la fórmula =SUMA(A5:J5)
y el K6 =SUMA(A6:J6)+K5.. y así sucesivamente? ¿O no
he entendido bien tu problema?

:-)


Amigos
En la columna 11 (o sea la K) hay un rango de celdas de


la 5 a la 10 que
reciben el resultado de suma de celdas de la misma fila.


Pero como le hago
para que me sume además la celda anterior de la columna


K para el acumulado?

Private Sub Worksheet_SelectionChange(ByVal Target As


Range)
For i = 5 To 10
Cells(i, 11) = Cells(i, 3) + Cells(i, 5) + Cells(i,


7) + Cells(i, 3)
Next i
End Sub

Hasta aquí todo bien, (digo yo). Ahora cómo hago para


dar la instrucción
para que se sume de la celda "K6" + "K5", luego la "K7"


+ "K6" y así
sucesivamente hasta la celda "K10" ?
Gracias y Saludos

Oscar
Barranquilla


.

Respuesta Responder a este mensaje
#3 Héctor Miguel
18/11/2003 - 04:25 | Informe spam
Hola, Oscar !

como propuesta a tu consulta 'original' ...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 5 To 10
Cells(i, 11) = Cells(i, 3) + Cells(i, 5) + Cells(i, 7) + Cells(i, 3)
Next i
End Sub



[supongo que] la ultima 'sumatoria' se refiere a a columna 9 [+ Cells(i 9)] [???]
para 'agregar' [a la 'sumatoria'] el valor ['acumulado'?] de la celda 'anterior' de la columna 'K' [11]...
[solo] 'habria que' incluir dicha celda [anterior] restando una fila a la variable 'i' => + Cells(i - 1, 11] <
=> algunos comentarios:
1.- [con lo anterior] NO se 'evita' el 'fastidio' que mencionas en este mensaje [cuando dices que 'te fastidia que'...]
"... las filas que no tienen datos tengan en ... "K" ... resultados repetidos por ... tener una formula ingresada."


[lo 'unico' 'diferente' seria que]... con este metodo no hay 'formulas'... 'solo' valores... [TAMBIEN los 'repetidos']
2.- al 'poner' codigo en los eventos [generalmente] 'se pierde' [el beneficio? de] el 'UnDo' [deshacer] <== OJO
[la accion 'mas reciente' que se pueda deshacer, ´poco' [o... ¿nada?] tendra 'nada que ver' con la hoja de los eventos]
3.- si [realmente] quieres evitar 'la vista' de valores 'repetidos' en 'K' [cuando no hay valores en la fila]...
[me parece que] daria 'mejor' resultado el uso de formatos condicionales [p.e. 'igualando' el color de letra y celda]

saludos,
Héctor.
Respuesta Responder a este mensaje
#4 Compumakro
19/11/2003 - 13:00 | Informe spam
Hola Hector,
Tu ayuda muy oportuna me dió la ruta para resolver el problema.
Me funciona muy bién y ha quedado así:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 6 To 50
Cells(i, 11) = Cells(5, 3) + Cells(5, 5) + Cells(5, 7) + Cells(5, 3)
Cells(i, 11) = Cells(i, 3) + Cells(i, 5) + Cells(i, 7) + Cells(i - 1,
11)
If Cells(i, 11) = Cells(i - 1, 11) Then
Cells(i, 11) = 0
End If
Next i
End Sub

Saludos
Oscar
Barranquilla
"Héctor Miguel" escribió en el mensaje
news:
Hola, Oscar !

como propuesta a tu consulta 'original' ...
> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
> For i = 5 To 10
> Cells(i, 11) = Cells(i, 3) + Cells(i, 5) + Cells(i, 7) + Cells(i, 3)
> Next i
> End Sub

[supongo que] la ultima 'sumatoria' se refiere a a columna 9 [+ Cells(i


9)] [???]
para 'agregar' [a la 'sumatoria'] el valor ['acumulado'?] de la celda


'anterior' de la columna 'K' [11]...
[solo] 'habria que' incluir dicha celda [anterior] restando una fila a la


variable 'i' => + Cells(i - 1, 11] <>
=> algunos comentarios:
1.- [con lo anterior] NO se 'evita' el 'fastidio' que mencionas en este


mensaje [cuando dices que 'te fastidia que'...]
> "... las filas que no tienen datos tengan en ... "K" ... resultados


repetidos por ... tener una formula ingresada."
[lo 'unico' 'diferente' seria que]... con este metodo no hay


'formulas'... 'solo' valores... [TAMBIEN los 'repetidos']
2.- al 'poner' codigo en los eventos [generalmente] 'se pierde' [el


beneficio? de] el 'UnDo' [deshacer] <== OJO
[la accion 'mas reciente' que se pueda deshacer, ´poco' [o...


¿nada?] tendra 'nada que ver' con la hoja de los eventos]
3.- si [realmente] quieres evitar 'la vista' de valores 'repetidos' en 'K'


[cuando no hay valores en la fila]...
[me parece que] daria 'mejor' resultado el uso de formatos


condicionales [p.e. 'igualando' el color de letra y celda]

saludos,
Héctor.


Respuesta Responder a este mensaje
#5 Héctor Miguel
20/11/2003 - 04:32 | Informe spam
Hola, Oscar !

... funciona muy bien y ha quedado así:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 6 To 50
Cells(i, 11) = Cells(5, 3) + Cells(5, 5) + Cells(5, 7) + Cells(5, 3)
Cells(i, 11) = Cells(i, 3) + Cells(i, 5) + Cells(i, 7) + Cells(i - 1, 11)
If Cells(i, 11) = Cells(i - 1, 11) Then
Cells(i, 11) = 0
End If
Next i
End Sub



solo unas 'observaciones' [no se si ya lo has notado, 'pero'...]
1.- la primer linea [dentro del For...Next] NO 'tiene sentido', es inmediatamente reemplazada por la segunda :))
2.- al 'poner en cero' [If...Then... Cells(i, 11) = 0] PIERDES la 'acumulacion' EN la siguiente celda en 'K' <== :((
3.- ['insisto'... YA] no tienes la 'posibilidad' de 'DesHacer' [en 'la hoja' con este codigo] :\\

saludos,
Héctor.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida