xltoday.net

EXCEL 2007 TABLAS Y GRAFICOS


Sumar rango variable con VBA Excel

Sumar un rango en Excel es fácil. Sumar un rango expresado por una variable en VBA es un poco más complicado (pero sigue siendo fácil).

No siempre se sabe de antemano que celdas formarán parte del rango a sumar. Entonces tenemos que expresar el rango de forma variable.

En Excel es fácil sumar este rango mediante una sencilla fórmula. Pero VBA no contiene ninguna función igual. Entonces hay que hacer que VBA utilice las funciones de Excel.

Utilizar funciones Excel en VBA

Tenemos un rango varSuma, el rango a sumar. Para sumar las celdas de este rango tenemos que llamar a la función SUM de Excel.

Application.WorksheetFunction.Sum(varSuma)

De esta manera puedes aplicar cualquier fórmula de Excel en VBA, con tal de que empieces la línea de código con

Application.WorksheetFunction...

Nuestro ejemplo

En este ejemplo el rango que nos interesa sumar son los valores correspondientes a "BB", es decir C8:C13.

pic_sumarrango





Escribir la suma (en celda)

'el rango a sumar varSuma = Range(Cells(8, 3), Cells(13, 3)) 'sumar el rango Cells(1, 1) = Application.WorksheetFunction.Sum(varSuma)

Escribir la suma (variable)

'el rango a sumar varSuma = Range(Cells(8, 3), Cells(13, 3)) 'sumar el rango SUMA = Application.WorksheetFunction.Sum(varSuma)