Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

suma con sombreados

145 views
Skip to first unread message

David Bernal

unread,
Mar 6, 2003, 4:09:53 AM3/6/03
to
hay alguna formula ke permita sumar el contenido de una celda si y solo si
este está sombreado?

GRACIAS PO ADELANTADO.


Fernando Arroyo

unread,
Mar 6, 2003, 5:48:12 AM3/6/03
to
Se puede hacer mediante una función personalizada:

Function SumarCeldasSombreadas(rngR As Range) As Double
Dim rngC As Range

For Each rngC In rngR.Cells
If rngC.Interior.Pattern <> xlNone Then SumarCeldasSombreadas = SumarCeldasSombreadas + 1
Next rngC

Set rngC = Nothing
End Function


La sintaxis es:
=SumarCeldasSombreadas(RangoAEvaluar)

En este tipo de funciones no es conveniente utilizar rangos muy grandes como argumento (por ejemplo, toda una columna), sino ajustar lo más posible dicho argumento al rango que realmente ocupan los datos.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"David Bernal" <dbe...@cepex.com> escribió en el mensaje news:eUbnHA84...@TK2MSFTNGP11.phx.gbl...

David Bernal

unread,
Mar 6, 2003, 6:08:30 AM3/6/03
to
Amás yo kiero ke me sume el contenido de la celda...no el numero de celdas
ke estan sombreadas.....seria una especie de sumar si.....pero con
sombreado.

"Fernando Arroyo" <ferarr...@ESTOwanadoo.es> escribió en el mensaje
news:eXS3j384...@TK2MSFTNGP11.phx.gbl...

Fernando Arroyo

unread,
Mar 6, 2003, 6:21:39 AM3/6/03
to
"David Bernal" <dbe...@cepex.com> escribió en el mensaje news:Os$IaC94C...@TK2MSFTNGP11.phx.gbl...

> Amás yo kiero ke me sume el contenido de la celda...no el numero de celdas
> ke estan sombreadas.....seria una especie de sumar si.....pero con
> sombreado.
>

Si eso es justamente lo que yo quería que hiciera la función, pero hoy estoy un poco "espeso". Prueba con:

Function SumarCeldasSombreadas(rngR As Range) As Double
Dim rngC As Range

For Each rngC In rngR.Cells

If rngC.Interior.Pattern <> xlNone Then SumarCeldasSombreadas = SumarCeldasSombreadas + rngC.Value
Next rngC

Set rngC = Nothing
End Function

Cheeky

unread,
Mar 6, 2003, 6:44:30 AM3/6/03
to
¿Fernando y qué procedimiento es el que hay que seguir para incorporar a Excel o al libro
una función de usuario?

Gracias.

"Fernando Arroyo" <ferarr...@ESTOwanadoo.es> escribió en el mensaje
news:eXS3j384...@TK2MSFTNGP11.phx.gbl...

Fernando Arroyo

unread,
Mar 6, 2003, 6:47:26 AM3/6/03
to
"Cheeky" <Big...@terra.es> escribió en el mensaje news:#gVZsL94...@TK2MSFTNGP12.phx.gbl...

> ¿Fernando y qué procedimiento es el que hay que seguir para incorporar a Excel o al libro
> una función de usuario?
>
> Gracias.
>

Pues tienes que abrir el libro donde quieras usarla y pulsar Alt F11 para entrar en el editor de VBA (Visual Basic para Aplicaciones). Una vez en el editor hay que hacer Insertar->Módulo y pegar el código en la ventana de edición (la más grande).

Si quisieras tener una función disponible para todos los libros tendrías que ponerla en un libro y guardar éste en el directorio XLStart para que se cargara al iniciar Excel, o en una plantilla y basar los libros en dicha plantilla, o crear un complemento que tuviera la función. Mi consejo es evitar en lo posible todo esto y poner las funciones definidas por nosotros tan sólo en los libros en que sean realmente necesarias, a no ser que su número sea muy grande, en cuyo caso yo optaría por la creación de una plantilla.

Cheeky

unread,
Mar 6, 2003, 8:46:04 AM3/6/03
to
Entendido, y funciona.
Y no es mérito mío, es que está bien explicado, alto y claro.

Thanks.

"Fernando Arroyo" <ferarr...@ESTOwanadoo.es> escribió en el mensaje
news:OqnAqY94...@TK2MSFTNGP10.phx.gbl...

0 new messages