Macros en Excel

驴C贸mo Sumar Celdas Visibles en Excel, usando Macros?

Raymundo Ycaza
#Excel Avanzado#Funciones#Macros (VBA)#馃 Automatizaci贸n con Excel

Imagen cortes铆a de SXC

[resumen]Si usar las funci贸n subtotales no es suficiente para ti, en esta entrada te muestro c贸mo utilizar una funci贸n hecha a medida para que puedas sumar celdas visibles (煤nicamente), a煤n si la cosa est谩 m谩s complicada.[/resumen]

En una entrada anterior, te comentaba acerca de la forma de sumar 煤nicamente las celdas visibles en tu hoja de Excel.

Sin embargo, existen situaciones como la que me expresa Miguel en su comentario, en las que el uso de la funci贸n SUBTOTALES, no es suficiente para cumplir con la misi贸n.

Hoy te traigo una alternativa, usando macros, para que puedas obtener esos datos que necesitas, dejando por fuera todo lo que est茅 oculto.

驴Por qu茅 sumar celdas visibles solamente?

Y bueno, eso me lo puedes decir t煤, que eres quien lo necesita. Pero si est谩s leyendo esto por mera curiosidad, te cuento que a veces uno tiene listados en los cuales toda la informaci贸n est谩 bien organizada, pero en alg煤n momento quieres filtrarlos (ya sea por fecha o por categor铆a) y estos registros que no cumplen con el criterio de tu filtro, simplemente se esconden.

Ahora bien, 驴por qu茅 seguir sumando todas las celdas si solo se est谩n mostrando unas cu谩ntas?

Tengo que hacer un mont贸n de cobros; pero quiero filtrar todos los que corresponden al 煤ltimo semestre. Filtro los datos y 隆voil谩! Se muestran 煤nicamente las sumatorias de esos registros que acabo de filtrar.

驴C贸mo lo consigo?

Exacto. Usando una funci贸n. Ya sea propia de Excel, o una que hayas creado t煤.

驴Puedo hacerlo sin macros?

隆Por supuesto que s铆!

De hecho, ya hab铆a escrito algo acerca de c贸mo sumar las celdas visibles, usando una funci贸n de Excel, en esta entrada.

驴Por qu茅 hacerlo con macros?

Como te coment茅 al inicio de esta entrada, existen situaciones en las cuales la funci贸n SUBTOTALES, no se adapta exactamente a nuestros requerimientos. Esto puede deberse a que queremos sumar entre columnas, como el caso聽聽de聽Miguel.

Incluso pueden haber otras variables en juego, que no nos permitan usar SUBTOTALES. En estos casos, hay que echar mano de las macros.

Quiero el c贸digo.

Option Explicit

Public Function sumarCeldasVisibles(rngRango As Object)

Dim total As Long
Dim celda

Application.Volatile

For Each celda In rngRango
    If celda.Rows.Hidden \= False Then
        If celda.Columns.Hidden \= False Then
            total \= total + celda.Value
        End If
End If

Next

sumarCeldasVisibles \= total

End Function

Utiliza un M贸dulo.

Este c贸digo no debes de pegarlo en cualquier lugar. Debes usar un m贸dulo para que la funci贸n sea accesible desde tu hoja (y por orden, vamos, que ya te he insistido en eso).

驴No recuerdas c贸mo se inserta un m贸dulo?

Ok, aqu铆 te dejo una vez m谩s el procedimiento para insertar un m贸dulo VBA, no lo pierdas. Vas a necesitarlo en los pr贸ximos ejemplos.

[aviso tipo=鈥渞ed鈥 titulo鈥滱dvertencia鈥漖Si no utilizas un m贸dulo, es m谩s seguro que no funcione el ejemplo y te marque un error si tratas de llamar a la funci贸n desde una celda de tu hoja de trabajo.[/aviso]

La funci贸n trabajando:

Sumar Celdas Visibles

Un consejo adicional como bono.

驴Te gust贸 la idea de tener una funci贸n como 茅sta?

驴Qu茅 te parece la idea de tener esta y otras funciones disponibles siempre?

隆Exacto! Ya no tendr铆as que escribirla una y otra vez, en cada libro, para poder usarla.

Para poder lograr esta maravilla, solo debes de guardar tus macros en el libro Personal de macros. As铆, siempre estar谩n disponibles.

La pelota est谩 en tu cancha.

Como siempre, te dejo a ti la responsabilidad de hacer uso del conocimiento compartido y que lo adaptes a tus necesidades puntuales. Siempre habr谩n detalles que no sean 100% compatibles con tu realidad; pero con tu propio conocimiento puedes hacer los ajustes necesarios.

Ahora, ay煤dame t煤 a compartir esta entrada en Twitter. Ser谩 de mucha ayuda para la difusi贸n del blog.

[aviso tipo=鈥渢witter鈥 titulo=鈥淗az clic y comparte en Twitter鈥漖[tuitealo]Usar macros no es tan dif铆cil como me dijeron. Mira esto:聽http://raymundo.me/2r\[/tuitealo\]\[/aviso\]

隆Eh! 隆Gracias por compartir con los dem谩s!

隆Nos vemos!

鈫 Regresar al Blog