You are on page 1of 6

Crear Funciones Personales en Microsoft Excel

Publicado en 10 marzo, 2011by Kenny Silva

Es bien sabido que Microsoft Excel dispone de un amplio rango de funciones como PROMEDIO(), SUMA(), TRUNC(), SENO(), RAIZ() (RCUAD() en la Versin 2010), entre muchas otras. Estas funciones son de mucha utilidad cuando queremos dotar de funcionalidad a nuestras Hojas de Clculo. Sin embargo, existen situaciones especficas en las cuales tan vasto conjunto de funciones no nos sirve para realizar ciertos clculos de una manera fcil y prctica. Un ejemplo de ello es la funcin que utilizan los Ingenieros Civiles para calcular el rea de acero por armadura simple necesaria para resistir lo requerimientos por flexin de una viga de concreto de seccin rectangular. La famosa frmula es la siguiente:

Donde:

Sustituyendo la expresin en la primera frmula obtendramos una frmula como la siguiente:

Ahora supongamos que esta frmula la tenemos que usar frecuentemente en una hoja de clculo que estamos diseando para nuestro trabajo. La opcin ms usual es que se realice una hoja de clculo en el cual se ingresen los datos de la frmula y luego crear la ecuacin para calcular el rea de acero tal como se muestra en la siguiente figura:

Y este sera el resultado:

Este mtodo funciona perfectamente, aunque para cuestiones de legibilidad, simplicidad yreusabilidad de la hoja de clculo no resulta del todo perfecta. Sera espectacular que existiera una funcin en Excel que me permitiera calcular el valor de As sin estar ingresando y copiando varias veces la ecuacin anterior en las distintas partes de la hoja de clculo en que sea necesario utilizarla. Lamentablemente dicha funcin no existe en Excel y por ello debemos recurrir al lenguaje de programacin interno del mismo que se llama Visual Basic para Aplicaciones. La funcin personal que vamos a crear ser con el objetivo de ingresar en la celda en que se quiere el resultado algo como =ACERO(fc;b;fy;d;Mu)

y que luego me genere el resultado esperado de 80,10 cm2 como en la figura anterior. Para lograr eso les explicar el mtodo de manera directa sin dar muchos detalles al respecto. Los interesados en el tema pueden averiguar sobre Visual Basic para Aplicaciones en Microsoft Excel. Bueno, ahora les expongo el procedimiento a seguir: 1) En la hoja de clculo de Excel presionar la combinacin de teclas Alt + F11 tras lo cual debe aparecer el IDE (Interfaz Integrada de Desarrollo) del lenguaje de programacin Visual Basic para Aplicaciones.

2) En la figura anterior existe un panel a mano izquierda en la parte superior en el cual se muestran todas las hojas que contiene el proyecto: Hoja 1, Hoja 2, Hoja 3 y un elemento llamado ThisWorkBook el cual hace referencia al Libro de Trabajo propiamente dicho. Lo que debemos hacer para crear nuestra funcin personalizada es hacer clic en la opcin de men Insertar y luego seleccionar la opcin Mdulo. Podremos observar que en el panel izquierdo superior aparece una nueva carpeta llamada Mdulos la cual contiene un elemento llamado Mdulo 1 y en la parte central del IDE me aparece una Ventana en blanco que es en donde se debe ingresar el cdigo correspondiente al Mdulo 1.

3) En la Ventana en Blanco que acaba de aparecer se debe ingresar el siguiente cdigo tal cual como lo expongo a continuacin: Function ACERO(fc, b, fy, d, Mu) As Double ACERO = (0.85 * fc * b) / fy * d Sqr(((0.85 * fc * b) / fy) ^ 2 2 * (0.85 * fc * b) / fy * Mu / fy) End Function En la ventana debe aparecer de la siguiente manera:

Una vez que hayamos escrito el texto anterior hacemos clic en Archivo y seleccionamos la opcin Cerrar y Volver a Microsoft Excel:

Ahora aparece nuevamente la hoja de clculo en que estamos trabajando, entonces ahora nos toca reemplazar la frmula larga de la celda B8 por la funcin personal que acabamos de crear que tiene por nombre ACERO. Para ello seleccionamos la celda B8 y reemplazamos la frmula larga por la frmula que se muestra en la siguiente figura:

Es de hacer notar en la figura anterior que la nueva funcin que hemos creado se utiliza de igual forma que una funcin interna de Microsoft Excel y el orden en que se ingresan los argumentos viene dada por el orden que establecimos en la cabecera de cdigo de la funcin personal la cual es : Function ACERO(fc, b, fy, d, Mu) As Double El nombre de la frmula seguido (entre parntesis) por cada uno de los argumentos separados por ; si est la configurada la coma como smbolo decimal y por , si est configurado el punto como smbolo decimal. Ahora se muestra el resultado de la funcin personal que acabamos de crear y podemos notar que el resultado obtenido es el mismo.

Ahora tenemos creada una funcin personal que nos permite calcular el rea de acero de una manera rpida y sencilla sin necesidad de copiar o reescribir una ecuacin tan larga y tediosa como la del principio. Y LO MEJOR DE TODO. LA PODEMOS UTILIZAR EN CUALQUIER PARTE DE NUESTRA HOJA DE CLCULO EN QUE LA NECESITAMOS, CLARO EST, COLOCANDO COMO ARGUMENTOS, LAS CELDAS CORRESPONDIENTES A LOS DATOS NECESARIOS PARA EL CLCULO DEL ACERO.

You might also like