CREAR FUNCIONES PERSONALIZADAS
ACTIVAR LA CINTA DE OPCIONES DESARROLLADOR
Para comenzar a crear una nueva funcin en Excel, lo primero que debes hacer es activar la cinta
de opciones Desarrollador, sigue estos pasos:
1. Clic en el men Archivo.
2. Ingresa a Opciones.
3. Selecciona Personalizar Cinta de Opciones.
4. Activa la opcin Desarrollador y dar clic en Aceptar.
GRABAR EL ARCHIVO
Recuerda que al grabar el libro de Excel, debes de elegir el tipo de archivo la opcin Libro de Excel
Habilitado Para Macros solo as Excel reconocer y ejecutar las macros que hayas programado.
ACCEDER AL EDITOR DE VISUAL BASIC
Para ingresar al Editor Visual Basic solo debe presionar las teclas ALT F11 y entrar al VBA.
Para insertar un mdulo debe dar clic al men Insertar y seleccionar la opcin Mdulo.
INTRODUCE EL CODIGO VBA
Para crear una funcin debes escribir lo siguiente:
Public Function Nombre_Funcion (Parmetros)
Aqu va el cdigo VBA
End Function
En este caso estamos creando una funcin cuyo nombre es CUBICA, cuya finalidad ser calcular la
raz cubica de un valor. Esta funcin pide un parmetro llamado VALOR cuyo tipo es Double, sea
que soporta un nmero que tiene parte entera y parte decimal, adems se declara una variable X
la cual contendr este valor, para finalizar se eleva el valor de X a 1/3, que viene a ser la raz cubica
de X y lo asignamos a la funcin CUBICA.
Listo ahora debes ir a Excel y probar tu funcin dentro de una frmula de Excel.
VARIABLES EN VBA
Cuando programamos en VBA frecuentemente necesitamos un repositorio para almacenar el
resultado de alguna operacin. Las variables en VBA son utilizadas para guardar valores y su tipo
depender de la clase de dato que deseamos guardar dentro de ellas.
En VBA existen variables de tipo entero que almacenan nmeros, variables de tipo doble que
tambin almacenan nmeros pero con decimales, variables de tipo texto para guardar una cadena
de caracteres entre algunos otros tipos de variables. A continuacin haremos una revisin de cada
uno de estos tipos.
1. Variables de tipo entero
Las variables de tipo entero son utilizadas para guardar nmeros enteros. Debemos utilizar
la palabra clave Integer para declarar una variable de este tipo.
Dim X As Integer
x=6
En la primera instruccin estoy declarando la variable con el nombre x y estoy indicando
que ser del tipo Integer. Declarar una variable significa avisar a Excel sobre la existencia
de dicho repositorio para guardar informacin. En la segunda instruccin asigno el valor 6
a la variable x.
2. Variables de tipo doble
Las variables de tipo doble pueden almacenar nmeros con el doble de precisin
incluyendo nmeros decimales. La palabra clave para este tipo de variables es Double.
Dim X As Double
x = 3.1416
Aunque las variables de tipo doble pueden almacenar nmeros enteros sin problema, no
es recomendable hacerlo porque estaremos desperdiciando espacio en la memoria del
ordenador. Es decir, el tamao reservado para una variable doble es el adecuado para
guardar nmeros decimales, si solo guardamos un nmero entero quedar especio sin
utilizar. Por lo tanto es recomendable utilizar siempre el tipo de variable adecuado para
cualquier nmero.
3. Variables de tipo texto
Una variable de tipo texto se declara con la palabra clave String. En el siguiente cdigo
declarar la variable libro y posteriormente le asignar un valor.
Dim libro As String
libro = "Programacin en Excel"
4. Variables de tipo lgico
Una variable de tipo lgico es aquella que puede almacenar solamente dos valores: falso o
verdadero. La palabra clave para definir estas variables es Boolean.
Dim continuar As Boolean
continuar = True
La primera lnea declara la variable booleana y en la segunda le asignamos un valor.
Solamente podemos asignar dos valores a este tipo de variables: True (verdadero) y False
(falso).
LIMITACION DE LAS FUNCIONES PERSONALIZADAS
Una funcin definida por el usuario llamada por una frmula de una celda de hoja de clculo no
puede cambiar el entorno de Microsoft Excel. Esto significa que este tipo de funcin no puede hacer
nada de lo siguiente:
Insertar, eliminar o dar formato a celdas de la hoja de clculo.
Cambiar el valor de otra celda.
Mover, cambiar el nombre, eliminar o agregar hojas a un libro.
Cambiar cualquiera de las opciones del entorno, como el modo de clculo o las vistas de la
pantalla.
Agregar nombres a un libro.
Establecer propiedades o ejecutar la mayora de los mtodos.
El propsito de las funciones definidas por el usuario es permitir al usuario crear una funcin
personalizada que no est incluida en las funciones suministradas con Microsoft Excel. Las funciones
incluidas en Microsoft Excel tampoco pueden cambiar el entorno. Las funciones pueden realizar un
clculo que devuelva un valor o texto a la celda en la que se escriben. Cualquier modificacin del
entorno debe realizarse mediante una subrutina de Visual Basic.
Durante el clculo, Excel examina los precedentes de la celda que contiene una funcin definida por
el usuario. Si no se han calculado todos los precedentes, Excel pasa una celda Null o vaca a la
funcin. Despus, Excel se asegura de que se realicen suficientes pasos de clculo para todos los
precedentes que se van a calcular. Durante el ltimo paso de clculo, se pasan los valores actuales
de las celdas a la funcin definida por el usuario. Esto puede hacer que se llame a la funcin definida
por el usuario con ms frecuencia de lo esperado. Por tanto, la funcin definida por el usuario puede
devolver valores inesperados.
Para lograr un clculo correcto, todos los rangos que se utilizan en el clculo se deben pasar a la
funcin como argumentos. Si no pasa los rangos de clculo como argumentos, en lugar de hacer
referencia a los rangos dentro del cdigo de VBA de la funcin, Excel no puede responder de ellos
dentro del motor de clculo. Por tanto, Excel no puede calcular correctamente el libro para
asegurarse de que se calculan todos los precedentes antes de calcular la funcin definida por el
usuario.
EJEMPLO
En este caso se est creando una funcin llamada RAIZN cuya finalidad es permitir que el usuario
calcul cualquier tipo de raz solo ingresando el valor y el ndice de la raz a calcular.