Sumar rangos variables 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.

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) <h2>Escribir la suma (variable)</h2> <div class="cb"> <pre> 'el rango a sumar varSuma = Range(Cells(8, 3), Cells(13, 3)) 'sumar el rango SUMA = Application.WorksheetFunction.Sum(varSuma) |


RSS