Caso práctico 2. En este caso práctico aprenderemos a
crear funciones personalizadas por el usuario utilizando el
lenguaje VBA.
Se pide: Crear una función personalizada en VBA que aplique
el teorema de Pitágoras sobre dos catetos que se le pasan como
parámetro. La función deberá devolver el valor de la hipotenusa
realizando el cálculo que promulga el teorema. Dicho teorema dice
que si c1 y c2 representan los catetos de un triángulo rectángulo,
la hipotenusa del mismo, representada por la letra h, resulta de
calcular la raíz cuadrada de la suma del cuadrado de los catetos.
La fórmula sería la siguiente:
Llamar a la función PITAGORAS y, una vez creada, mostrar su uso en
Excel.
Solución: Empezaremos por desplazarnos hacia el editor de
VBA. Una forma rápida puede ser hacer clic en el icono Editor de
Visual Basic de la barra de herramientas.
Una vez en él ya podemos empezar a editar la función en el módulo
que el editor proponga. Mostramos una posible solución en la Figura
8.69 que iremos comentando a continuación.
Fig. 8.69. Una posible forma de programar la función
PITAGORAS.
La primera y última líneas del código ya nos muestran novedades. En
este caso en lugar de la palabra clave Sub aparece Function, ya que
en este caso estamos escribiendo una función y no una subrutina. Ya
comentamos que la diferencia entre ambas estriba en que la función
devuelve un valor y la subrutina no.
Otra novedad que aporta la primera línea es la existencia de los
argumentos cateto1 y cateto2. Los argumentos sirven para pasar
valores a la función. En nuestro caso necesitamos decirle a la
función PITAGORAS cuáles son los catetos que debe operar para
calcular la hipotenusa del triángulo. Más adelante veremos que
seremos nosotros mismos los que daremos valor a los argumentos
cuando llamemos a la función desde Excel. A continuación
encontramos los comentarios que hemos querido poner a la función y
que, como siempre, no modifican en absoluto la tarea que ésta
realiza. Las cuatro últimas instrucciones antes del final de
función son las que realizan los cálculos solicitados.
Las dos primeras obtienen el cuadrado de cada uno de los catetos,
almacenándolos en las variables temporales cat1_al_2 y cat2_al_2.
Una variable es un elemento del lenguaje que es capaz de almacenar
un valor que se le da mediante una sentencia de asignación. Este
tipo de sentencias siguen el siguiente patrón: variable = valor.
Por tanto estas dos instrucciones son dos sentencias de asignación,
al igual que las dos restantes. La tercera almacena en otra
variable temporal la suma del cuadrado de los catetos.
Por último, la cuarta instrucción calcula la raíz cuadrada de la
variable temporal suma, mediante la función Sqr. Dicho cálculo será
el que devolverá la función, ya que si nos fijamos, en esta
instrucción le asignamos el resultado del cálculo a una supuesta
variable cuyo nombre es idéntico al de la función actual. Esta es
la forma que utiliza VBA y otros lenguajes para indicar cuál es el
resultado que devuelve una función.
1. Excel. Hojas de cálculo (primera parte) Curso del software Excel y formación ofimática. En esta primera parte de nuestro... [07/11/08] |
45.357 | ||||
2. Excel. Hojas de cálculo (tercera parte) Curso del software Excel y formación ofimática. En esta tercera parte de nuestro... [07/11/08] |
6.825 | ||||
3. Excel. Hojas de cálculo (segunda parte) Curso del software Excel y formación ofimática. En esta segunda parte de nuestro... [07/11/08] |
5.859 |