formula condicional en celda

27/08/2004 - 13:19 por gema.bernardo | Informe spam
Hola gente!

Haber si alguien me puede echar una mano pq no estoy segura de que esto se
pueda realizar...

Necesito hacer que se haga la suma de una serie de celdas dependiendo de
que se cumpla una condicion en otras celdas. Esto lo tengo que codificar
en una ceda mediante VBA. Ejemplo:

COLUMNA A COLUMNA B COLUMNA C
FILA 1 1 S 4

FILA 2 2 N

FILA 3 3 S



El C1 tengo que aplicarle mediante una formula lo siguiente:

' CONSTRUCCION DE LA FORMULA
Formul = "=SUM("

total = 0
If (Range(B1).value="S") Then
total = total + Range(A1).value --> A1
Formul = Formul & "A1"
End If

If (Range(B2).value="S") Then
total = total + Range(A2).value --> A2
Formul = Formul & ",A2"
End If

If (Range(B3).value="S") Then
total = total + Range(A1).value --> A3
Formul = Formul & ",A3"
End If

Formul = Formul & ")"

' LE ASIGNAMOS LA FORMULA
Range("C1").Select
ActiveCell.Formula = Formul


El problema es que esto me vale si los valores de la columna B no fueran
modificables, pero no es mi caso. la formula de C1 va a varian segun
cambie el usuario los valores de las celdas de la columna B

¿Es esto posible??? o habria que tratarlo desde el evento Onchange??

GRACIAS y un saludo
 

Leer las respuestas

#1 Javier
27/08/2004 - 18:56 | Informe spam
Hola,

Por qué no utilizar la función =SUMIF(). COn esta función
harás que lo que necesitas.

Según tu ejemplo en la celda c1 escribe:

=SUMIF(B1:B3,"S",A1:A3)

y así tienes el resultado que necesitas, aún cuando
varíen los datos.

Si necesitas el código, puedes grabar una macro y checar
si te sirve.

Saludos,
Hola gente!

Haber si alguien me puede echar una mano pq no estoy


segura de que esto se
pueda realizar...

Necesito hacer que se haga la suma de una serie de


celdas dependiendo de
que se cumpla una condicion en otras celdas. Esto lo


tengo que codificar
en una ceda mediante VBA. Ejemplo:

COLUMNA A COLUMNA B COLUMNA C
FILA 1 1 S 4

FILA 2 2 N

FILA 3 3 S



El C1 tengo que aplicarle mediante una formula lo


siguiente:

' CONSTRUCCION DE LA FORMULA
Formul = "=SUM("

total = 0
If (Range(B1).value="S") Then
total = total + Range(A1).value --> A1
Formul = Formul & "A1"
End If

If (Range(B2).value="S") Then
total = total + Range(A2).value --> A2
Formul = Formul & ",A2"
End If

If (Range(B3).value="S") Then
total = total + Range(A1).value --> A3
Formul = Formul & ",A3"
End If

Formul = Formul & ")"

' LE ASIGNAMOS LA FORMULA
Range("C1").Select
ActiveCell.Formula = Formul


El problema es que esto me vale si los valores de la


columna B no fueran
modificables, pero no es mi caso. la formula de C1 va a


varian segun
cambie el usuario los valores de las celdas de la


columna B

¿Es esto posible??? o habria que tratarlo desde el


evento Onchange??

GRACIAS y un saludo


.

Preguntas similares