UNIVERSIDAD ESTATAL DEL SUR DE MANABI
FACULTAD DE CIENCIAS TÉCNICAS
INGENIERIA CIVIL
INTRODUCCIÓN A MACROS EXCEL
STALIN DAVID LOZANO BRIONES
DOCENTE: JOHNNY REGALADO JALCA
30/01/2022
PERIODO ACADEMICO ‘‘PII’’
ÍNDICE
1. INTRODUCCIÓN A LAS MACROS.................................................................1
¿Qué es una macro de Excel?.....................................................................................1
¿Cómo se escribe el lenguaje de programació?.........................................................2
¿Cómo crear una macro?............................................................................................3
Código de la grabadora de macros.............................................................................7
¿Como establecer seguridad de macros?..................................................................10
¿Para qué sirve una macro en excel?........................................................................12
Automatización de tareas.........................................................................................12
2. VARIABLES, CONSTANTES, OPERADORES EN VBA EXCEL...............12
Variables en vba.......................................................................................................12
Las variables.............................................................................................................13
Las constantes..........................................................................................................13
Concatenación..........................................................................................................16
Operadores de comparación.....................................................................................17
3. OBJETOS, PROPIEDADES Y MÉTODOS.....................................................18
Propiedades de un objeto.........................................................................................18
Métodos de un objeto...............................................................................................19
Utilizando las propiedades y los métodos................................................................19
Ver todas las propiedades y métodos.......................................................................20
Propiedades y métodos de un objeto de Excel.........................................................20
4. CUADROS DE DIÁLOGOS PREDEFINIDOS (INPUTBOX, MSGBOX) EN
VBA EXCEL...........................................................................................................................20
La función InputBox................................................................................................20
5. EVENTOS DE CONTROLES EN VBA EXCEL.............................................22
Ejemplos de eventos en vba.....................................................................................22
Un ejemplo de eventos en vba.................................................................................23
6. FUNCIONES EN VBA EXCEL........................................................................25
La palabra clave función..........................................................................................26
Parámetros de una función vba................................................................................26
Valor de retorno.......................................................................................................27
Cuerpo de la función vba.........................................................................................27
Retornando el valor..................................................................................................27
Probando la función vba...........................................................................................27
7. BIBLIOGRAFÍA................................................................................................28
IMAGEN 1.- LENGUAJE DE PROGRAMA............................................................................................................................2
IMAGEN 2.COMANDO PARA GRABAR MACRO...................................................................................................................4
IMAGEN 3. GRABAR MACRO PASO A PASO.......................................................................................................................4
IMAGEN 4. COMANDO DE MACRO.................................................................................................................................5
IMAGEN 5. GRABADOR DE MACROS...............................................................................................................................7
IMAGEN 6. ICONO DE DETENER LA MACRO......................................................................................................................7
IMAGEN 7. CUADRO DE DIALOGO MACRO.......................................................................................................................8
IMAGEN 8. MODIFICADOR DE MACRO............................................................................................................................8
IMAGEN 9. CUADRO DE DIÁLOGO DE CENTRO................................................................................................................10
IMAGEN 10. CUADRO DE OPERADORES.........................................................................................................................16
IMAGEN 11. EDITOR VISUAL.......................................................................................................................................22
IMAGEN 12. OPCIÓN WORSKHEET...............................................................................................................................23
IMAGEN 13. OPCIÓN ACTIVATE...................................................................................................................................23
IMAGEN 14. CUADRO DE DIÁLOGO..............................................................................................................................24
IMAGEN 15. MACRO CON VBA..................................................................................................................................25
1
1. INTRODUCCIÓN A LAS MACROS
Vamos a explicarte qué son los macros de Excel, unos automatismos que puedes
configurar para repetir tareas complejas todas las veces que quieras sin tener que repetirlas
una y otra vez. Se trata de un añadido que te puede ahorrar bastante tiempo en el caso de que
trabajes a menudo con Excel y tengas que realizar las mismas tareas o procesos de forma
recurrente, vamos a explicar qué son exactamente y cómo funcionan, y luego te explicaremos
paso a paso cómo puedes crearlos para que puedas hacer tus propias personalizaciones según
tus novedades. Esta herramienta tiene decenas de usos.
Excel nos permiten calcular tareas que realizamos cotidianamente de manera que
podamos ser más eficientes en nuestro trabajo, una macro no es más que una serie de
comandos o instrucciones capaces de ejecutar un conjunto personalizado de acciones. Así,
con sólo pulsar el atajo de teclado que hayas configurado para ejecutar el macro creado,
Excel se encargará de ir haciendo una por una todas las acciones que hayas configurado
previamente, que permanecen almacenados dentro de Excel y que podemos ejecutar cuando
sea necesario y cuantas veces lo deseemos.
¿Qué es una macro de Excel?
Una macro es una acción o un conjunto de acciones que se puede ejecutar todas las
veces que desee cuando se crea una macro, se graban los clics del mouse y las pulsaciones de
las teclas. frecuentemente es posible que en alguna ocasión te hayas encontrado ejecutando
una misma serie de acciones una y otra vez. Esas acciones que haces repetidas veces se
podrían automatizar, Con los macros, puedes crear un automatismo que realice en orden
todas esas acciones que siempre sueles hacer una detrás de otra. Una vez configurado este
macro, podrás ejecutarlo todas las veces que quieras en todo momento.
¿Cómo se escribe el lenguaje de programació?
Las macros se escriben en un lenguaje de computadora especial que es conocido
como Visual Basic for Applications (VBA). Este lenguaje permite acceder a prácticamente
todas lais funcionalidades de Excel y con ello también ampliar la funcionalidad del programa.
Imagen 1.- lenguaje de programa
El lenguaje de programación permite especificar de manera precisa sobre qué datos
debe operar un software específico, cómo deben ser almacenados o transmitidos dichos datos,
y qué acciones debe tomar el software bajo una variada gama de circunstancias. Todo esto, a
través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural.
Una característica relevante de los lenguajes de programación es precisamente que más de un
programador pueda usar un conjunto común de instrucciones que sean comprendidas entre
ellos para realizar la construcción de un programa de forma colaborativa. Pero no te
preocupes si no eres un programador de computadoras, Excel provee de una herramienta
especial que permite crear una macro sin necesidad de conocer los detalles del lenguaje de
programación.
¿Cómo crear una macro?
Hay dos formas de crear las macros en Word:
Utilizar la Grabadora de macro es una aplicación incluida en los programas de
Microsoft Office que permite crear una macro paso por paso, ejecutando y grabando las
acciones que se quieren guardar. Es el método más sencillo es usar el editor de Visual Basic
Consiste en escribir o pegar el código en lenguaje Visual Basic en un editor incluido, para
escribirlo se requieren conocimientos de este lenguaje que no poseen los que leen este
artículo, pero también se puede pegar código de funciones creadas por los más expertos y de
esa forma poder disponer de macros muy útiles.
En Excel utilizando la grabadora de macros, voy a crear una macro que siempre
introduzca el nombre de tres departamentos de una empresa y posteriormente aplique un
formato especial al texto. Para iniciar la grabación debes ir al comando Grabar macro que se
encuentra en la ficha Programador lo cual mostrará el siguiente cuadro de diálogo.
Imagen 2.comando para grabar macro
Presta atención cómo he colocado un nombre a la macro y además he especificado el
método abreviado CTRL+d la cual se ejecutará posteriormente. Una vez que se pulsa el botón
Aceptar se iniciará la grabación. Observa con detenimiento los pasos.
Imagen 3. grabar macro paso a paso
Al terminar los pasos se pulsa el comando Detener grabación y la macro habrá
quedado guardada. Para ejecutar la macro recién guardada seleccionaré una nueva hoja de
Excel y seleccionaré el comando Macros.
Imagen 4. comando de macro
Al pulsar el comando Macros se mostrará la lista de todas las macros existentes y de
las cuales podrás elegir la más conveniente. Al hacer clic sobre el comando Ejecutar se
realizarán todas las acciones almacenadas en la macro y obtendrás el resultado esperado. Por
supuesto que si utilizas el método abreviado de teclado de la macro entonces se omitirá este
último cuadro de diálogo.
Código de la grabadora de macros
Para aprender a utilizar los códigos VBA se examina el código generado por
la Grabadora de macros. Para este ejemplo grabaremos un macro muy sencillo que solamente
cambie el color de la fuente de la celda actual, para empezar debemos ir a la ficha
Programador y pulsar el comando Grabar macro lo cual mostrará el cuadro de diálogo donde
asignaré un nombre a la macro que estoy por crear, pulsamos el botón aceptar y se
comenzarán a grabar todas las acciones, así que debes actuar con cuidado porque se grabará
absolutamente todo. Para la macro que estoy grabando solo haré lo siguiente: iré a la ficha
Inicio y pulsaré el comando Color de fuente y seleccionaré el color rojo para la celda activa.
Imagen 5. grabador de macros
Una vez hecho esto debo detener la grabación de la macro y una alternativa para
hacerlo es pulsar el icono que se muestra en la barra de estado.
Imagen 6. icono de detener la macro
Ahora que ya hemos generado la macro, pulsa el botón Macros que se encuentra en el
grupo Código de la ficha Programador. Se mostrará el cuadro de diálogo Macro que enlista
todas las macros que hemos creado.
Imagen 7. cuadro de dialogo macro
Selecciona la macro recién creada y pulsa el botón Modificar. Esto abrirá el Editor de
Visual Basic y mostrará el código generado para la macro.
Imagen 8. modificador de macro
Observando este código podemos aprender varias cosas. Para empezar observamos
que el objeto Selection tiene una propiedad llamada Font que es la que hace referencia a la
fuente de la celda o rango seleccionado. A su vez, la propiedad Font tiene otra propiedad
llamada Color que es precisamente la que define el color rojo de nuestra celda, aunque este
ha sido un ejercicio muy sencillo, cuando tengas curiosidad o duda sobre qué objetos utilizar
al programar en VBA considera utilizar la Grabadora de macros para darte una idea del
camino a seguir.
¿Como establecer seguridad de macros?
La seguridad es un tema importante al hablar de macros en Excel. Si abres algún
archivo que contenga una macro maliciosa puedes causar algún tipo de daño al equipo. De
manera predeterminada Excel no permite ejecutar macros automáticamente, si estás creando
tus propias macros y deseas remover esta protección porque sabes que no existe código
malicioso, entonces puedes modificar la configuración para habilitar todas las macros. Para
hacerlo debes seguir los siguientes pasos, haz clic en la ficha Archivo y posteriormente en
Opciones. Dentro del cuadro de diálogo mostrado selecciona la opción Centro de confianza y
posteriormente pulsa el botón Configuración del centro de confianza. Se mostrará el cuadro
de diálogo Centro de confianza.
Imagen 9. cuadro de diálogo de centro
Dentro de la sección Configuración de macros selecciona alguna de las opciones
disponibles deshabilitar todas las macros sin notificación. Deshabilita las macros y permite
ejecutar solamente aquellas que estén almacenadas en un lugar confiable. Los lugares
confiables se configuran en la sección Ubicaciones de confianza del mismo cuadro de
diálogo, deshabilitar todas las macros con notificación. Muestra una alerta de seguridad
advirtiendo sobre la intención de ejecutar una macro de manera que se pueda decidir si se
desea ejecutar. Esta es la opción predeterminada de Excel, deshabilitar todas las macros
excepto las firmadas digitalmente. Solamente se podrán ejecutar las macros que están
firmadas digitalmente, habilitar todas las macros. Permite ejecutar todas las macros sin enviar
alguna notificación al usuario. Esta opción es útil si se ejecutan múltiples macros totalmente
confiables. Esta opción es la que corre los mayores riesgos al ejecutar una macro de una
fuente desconocida.
¿Para qué sirve una macro en excel?
¿Para qué sirve una macro en Excel? Una macro nos ayuda a automatizar aquellas
tareas que hacemos repetidamente. Una macro es una serie de instrucciones que son
guardadas dentro de un archivo de Excel para poder ser ejecutadas cuando lo necesitemos.
Automatización de tareas
Seguramente estás familiarizado con procesos de automatización en el ámbito
industrial. Un ejemplo muy claro son las plantas ensambladoras de automóviles donde
existen robots que han sustituido tareas que antes eran hechas por humanos. La
automatización trajo beneficios como mayor eficiencia y productividad de las plantas y un
mejor aprovechamiento del tiempo del personal al reducir la cantidad de tareas repetitivas
que realizaban. (CAMPOS, 2019)
2. VARIABLES, CONSTANTES, OPERADORES EN VBA EXCEL
Variables en vba
Cuando programamos en VBA frecuentemente necesitamos un repositorio para
almacenar el resultado de alguna operación. 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 números, variables de tipo doble que
también almacenan números, pero con decimales, variables de tipo texto para guardar una
cadena de caracteres entre algunos otros tipos de variables. A continuación, haremos una
revisión de cada uno de estos tipos.
Las variables
Una variable es un espacio en memoria donde almacenamos valores que irán
cambiando su valor conforme se ejecute una macro. El valor asignado a una variable si bien
puede ser fijo, si durante la ejecución de la macro se requiere acceder a ese valor, lo podemos
llamar o modificar su valor almacenado. Las variables serán definidas mediante un nombre
personalizado en el siguiente ejemplo usamos la variable Ventas con el valor de 10. Después
de mostrarlo le sumamos 1 al valor inicial y luego lo mostramos.
Las constantes
Cuando deseamos que un valor o un texto siempre tenga el mismo valor, pero a su vez
lo deseamos seguir utilizando en el trascurso de la macro, aquí es donde usamos constantes.
En el siguiente ejemplo definimos el texto EXCELeINFO a la contante Titulo.
Al momento de nombrar las variables y contantes, debemos seguir una serie de reglas
para el uso de los nombres:
· La primera letra debe ser una letra.
· Podemos usar letras y número, además de vocales acentuadas.
· Es recomendable usar mayúsculas y minúsculas para una mejor lectura
(NombreVendedor).
· No se pueden usar espacios, pero sí el guión bajo (Tipo_venta).
· No se pueden usar caracteres especiales tipo @, &, $ o ¡.
· El límite de caracteres es de 254, pero por practicidad no se recomienda usar
nombres largos.
Por qué usar variables en nuestras macros y procedimientos
¿Podemos trabajar en VBA sin variables? Sí. Depende de cómo aprendamos macros
es el nivel de pulcritud que tendrá tu código. Lo recomendable es usar variables por varios
motivos:
· El código es más legible.
· Es más sencillo mantener un código con variables.
· Podemos reutilizar variables a lo largo del código.
· Podemos reutilizar variables dentro de otras macros (ámbito de las variables).
Los operadores son, en mi opinión, el componente más importante de los lenguajes de
programación porque permiten calcular, comparar, validar y unir, las variables y las
constantes declaradas en VBA. En definitiva, relaciona unos valores con otros.
Estos operadores pueden ser de varios tipos:
Operadores aritméticos: Sirven para hacer cálculos (suma, resta, multiplicación y
división).
Operador de concatenación: Une los valores de dos variables o constantes (operador
ampersand (&)).
Operadores de comparación: Evalúan si un valor es mayor, menor o igual que otro
(igual (=), menor que (<), menor o igual a (<=), mayor que (>), mayor o igual a (>=), distinto
a (<>).
Operadores lógicos: Se suelen utilizar para formar expresiones complejas (negación
(Not), conjunción (And), disyunción (Not).
Vamos con ellos...
Operadores aritméticos
Los operadores aritméticos o matemáticos se utilizan para realizar operaciones
matemáticas, como sumas, restas, multiplicaciones o divisiones. Te muestro cada uno en
detalle:
Suma, resta, multiplicación y exponenciación
El operador más (+) se utiliza para añadir un valor a otro y también para concatenar
cadenas.
El operador menos (-) se usa para hallar la diferencia entre dos o más números y
también para mostrar un número como negativo.
El operador multiplicación (*) se utiliza para multiplicar un valor por otro.
El operador exponencial (^) se utiliza para elevar un número a la potencia de otro
número.
División
La división se utiliza para obtener la fracción de un número en términos de otra, es
decir, para dividir un número entre otro (evidente). En términos de VBA se pueden
diferenciar dos tipos de división:
División entera: se utiliza cuando queremos que el resultado sea un número entero.
Para ello se utiliza la barra invertida (\). Los operandos (que así es como se llama a los
valores que intervienen) pueden ser cualquier tipo de número válido, con o sin decimales.
División decimal: Cuando queremos que el resultado de la operación sea un número
decimales, debemos utilizar la barra normal (/).
Mira este ejemplo. Si tengo dos variables, a =9 y b = 4, el resultado de los dos tipos
de división quedaría así:
a/b= 2,25
a\b=2
Mod
Para hallar el resto de una división, se utiliza el operador Mod. Este operador divide
un valor entre otro y muestra "sobrante" en forma de número decimal.
Por ejemplo, si tengo dos variables a=7 y b=2, el resultado de la operación 7 Mod 2
sería 1.
Concatenación
Cuando se habla de concatenar, se quiere decir unir dos o más valores. Para unir tanto
cadenas de texto como valores numéricos se utiliza el operador ampersand (&). Esta unión se
hace en el orden en el que se introducen los operandos.
Observa el siguiente ejemplo:
Imagen 10. cuadro de operadores
Para unir el nombre con el apellido dejando un especio en blanco, debes insertar el
espacio como si fuese otra cadena más. El espacio debe ir entre comillas.
Operadores de comparación
Los operadores de comparación se llaman también relacionales y comparan valores y
expresiones devolviendo siempre un resultado booleano: verdadero o falso, muchas veces los
operadores de comparación por sí solos se quedan algo cortos para algunas necesidades. Los
operadores lógicos solucionan este problema al permitir la combinación de varias expresiones
simples para formar una más compleja.
El operador And (y) combina dos condiciones simples y devuelve un valor que es
verdadero si estas dos condiciones son verdaderas. Por ejemplo (a >=6) And (b>=7).
El operador Or (o) devuelve el valor Verdadero cuando una de las dos expresiones es
verdadera.
El operador Not (no) se utiliza sobre una sola condición para negar su valor.
(PROPERGOL, 2022)
3. OBJETOS, PROPIEDADES Y MÉTODOS
En Excel los objetos son todos los elementos que tenemos disponibles, por ejemplo, el
libro es un objeto, cada hoja es un objeto, y cada celda es un objeto (las tablas dinámicas y
gráficos también son objetos a esto lo conocemos como el modelo de objetos de Excel,
modelo de objetos de Excel,cada uno de los objetos de Excel tiene propiedades y métodos.
Las propiedades son las características del objeto y los métodos son las acciones que el objeto
puede hacer.
Propiedades de un objeto
Las propiedades son las características que nos permiten describir un objeto,
normalmente hacen referencia a una magnitud o la existencia o ausencia de algo, por
ejemplo, podemos definir el alto de una fila o el ancho de una columna, o el valor que existe
en una celda, por ejemplos, una celda (Range) tiene las propiedades valor (Value) y dirección
(Address) entre muchas otras. Estas propiedades describen mejor al objeto.
Métodos de un objeto
Siguiendo con el ejemplo de una persona, si fuera un objeto de Excel sus métodos
serían correr, caminar, hablar, dormir. Los métodos son las actividades o acciones que el
objeto puede realizar. Los objetos de Excel se comportan de la misma manera que el ejemplo
de una persona. Una celda (Range) tiene los métodos activar (Activate), calcular (Calculate),
borrar (Clear) entre muchos más.
Utilizando las propiedades y los métodos
Para acceder a las propiedades y métodos de un objeto lo hacemos a través de una
nomenclatura especial. Justo después del nombre del objeto colocamos un punto seguido del
nombre de la propiedad o del método. Observa este ejemplo donde hacemos uso de la
propiedad Value para la celda A1:
Range("A1").Value = "Hola"
De esta manera asignamos una cadena de texto al valor de la celda A1. Ahora bien, si
queremos borrar ese valor que acabamos de colocar en la celda podemos utilizar el método
Clear de la siguiente manera:
Range("A1").Clear
Ver todas las propiedades y métodos
Así como los objetos tienen propiedades también cuentan con métodos. Un método es
una acción que puedes realizar con un objeto, por decir, puede cambiar las propiedades de un
objeto o indicarle al objeto que realice algo específico a veces es difícil pensar que los
llegaremos a memorizar todos por completo. Sin embargo, el Editor de Visual Basic es de
gran ayuda porque justamente al momento de escribir nuestro código nos proporciona la lista
completa de propiedades y métodos para un objeto.
Propiedades y métodos de un objeto de Excel
Al momento de introducir el punto después del nombre del objeto. Puedes distinguir
entre las propiedades y métodos porque tienen iconos diferentes los objetos son cosas en
Excel y sus características las llamamos propiedades las cuales nos ayudan a definir al objeto.
Los métodos son las acciones que cada objeto puede realizar. (Ortiz, 2011)
4. CUADROS DE DIÁLOGOS PREDEFINIDOS (INPUTBOX, MSGBOX) EN
VBA EXCEL
La función InputBox
Muestra una pregunta (una solicitud de datos) y devuelve el texto escrito por el
usuario.
InputBox(prompt,title,default,xpos,ypos,helpfile,context)
prompt Cadena que aparecerá como mensaje.
title Cadena que aparecerá en la barra de título.
default Valor tomado por defecto.
xpos Posición horizontal del cuadro de diálogo (expresado en
twips).
ypos Posición vertical del cuadro de diálogo (expresado en
twips).
helpfile Nombre del archivo de ayuda contextual.
context Número del contexto de ayuda.
Ejemplo
Este ejemplo muestra un cuadro de diálogo que pide el nombre de las celdas que hay
que borrar (las celdas reciben el nombre de cada mes).
Sub Borrar_Celdas_Nombradas()
Dim sOpcion As String
' Pide introducir el mes que hay que borrar
' Si el mes se reconoce, borra las celdas con nombre
' Si no, muestra un mensaje de error
sOpcion = InputBox( _
Prompt:="¿Qué mes desea borrar?", _
Title:="Borrar celdas")
On Error GoTo Err
Application.Goto reference:=sOpcion
Selection.Clear
Exit Sub
Err:
MsgBox "No se puede borrar, nombre de celda inexistente"
End Sub
Los eventos en VBA nos ayudan a monitorear las acciones que realizan los usuarios
en Excel de manera que podamos controlar la acción a tomar cuando el usuario hace algo
específico como el activar una hoja o hacer clic en alguna celda. (Vargas, 2015)
5. EVENTOS DE CONTROLES EN VBA EXCEL
Ejemplos de eventos en vba
Algunos ejemplos de eventos en VBA son los siguientes:
WorkbookOpen: El usuario abre un libro de Excel.
WorkbookActivate: El usuario activa un libro de Excel.
SelectionChange: El usuario cambia la selección de celdas en una hoja.
Para descubrir los eventos que tiene un objeto es suficiente con abrir el Editor de
Visual Basic y posteriormente el Examinador de objetos (F2). En el panel izquierdo se
mostrarán los objetos y en el panel derecho las propiedades, métodos y eventos de dicho
objeto. Podrás distinguir los eventos porque tienen un icono en forma de rayo (color
amarillo):
Imagen 11. editor visual
Un ejemplo de eventos en vba
El ejemplo que crearemos en esta ocasión es para activar un cuadro de diálogo con el
mensaje “Bienvenido a la Hoja 2” y que se mostrará cuando activemos la Hoja2 de nuestro
libro. Para comenzar, debes seleccionar el objeto Hoja2 del panel izquierdo del Editor de
Visual Basic y posteriormente seleccionar la opción Worksheet:
Imagen 12. opción worskheet
Esto creará automáticamente la subrutina para el evento SelectionChange pero
podemos fácilmente crear otro evento seleccionándolo de la lista de Procedimientos. Para
este ejemplo crearé el evento Activate:
Imagen 13. opción activate
Una vez creada la subrutina para el evento Actívate solamente insertaré el código para
que se muestre el mensaje dentro del cuadro de diálogo:
Imagen 14. cuadro de diálogo
Los eventos en VBA son de mucha utilidad porque nos ayudan a controlar el momento
exacto en que deseamos ejecutar algún bloque de código al iniciarse alguna acción por el
usuario. (PROPERGOL, 2022)
6. FUNCIONES EN VBA EXCEL
Como hemos visto en el artículo Tu primera macro con VBA, una subrutina nos
ayuda a organizar y agrupar las instrucciones en nuestro código. El día de hoy te mostraré
cómo crear una función VBA, la cual es similar a una subrutina excepto por una cosa a
diferencia de las subrutinas, las funciones VBA fueron diseñadas para retornar un valor. A
través de una función podemos agrupar código que nos ayudará a hacer algún cálculo
específico y obtener un resultado de regreso. Una función VBA también es conocida
como Función Definida por el Usuario, UDF por sus siglas en inglés, y una vez creada puede
ser utilizada de la misma manera que las funciones incluidas en Excel como la función
SUMAR o la función BUSCARV. Esto hace que las funciones VBA sean una herramienta
muy poderosa, mostraré una función que toma un rango y regresa la suma de cada una de sus
celdas. Es importante insertar el código dentro de un Módulo tal como se muestra en el
artículo Tu primera macro con VBA. Posteriormente iré explicando el detalle de la función.
Imagen 15. macro con VBA
La palabra clave función
La primera línea de código comienza con la palabra Function la cual define el inicio
de la función. Observa también cómo la última línea de código es End Function que está
especificando el término de la función inmediatamente después de la palabra
clave Function se debe especificar el nombre de la función que en este ejemplo
es MiSuma seguida de paréntesis que de manera opcional pueden contener una lista de
parámetros.
Parámetros de una función vba
Los parámetros son el medio por el cual pasamos información de entrada a la función.
Algunas funciones necesitarán de dichas entradas para realizar algún cálculo y algunas otras
no, es por ello que los parámetros de una función son opcionales. Puedes incluir tantos
parámetros como sean necesarios y solamente debes recordar separarlos por una coma, un
parámetro no es más que una variable y por lo tanto puedes observar que en el ejemplo he
definido la variable rango que será del tipo Range.
Valor de retorno
Como mencioné al principio, la característica principal de una función es que puede
regresar un valor. Es por eso que al definir una función se debe indicar el tipo del valor de
retorno que tendrá dicha función. En este caso el valor de retorno será de tipo Double y se
está especificado por las palabras As Double que aparecen después de los paréntesis.
Cuerpo de la función vba
Una vez definida la función se pueden especificar todas las instrucciones que serán
ejecutas. En el ejemplo he comenzado por definir un par de variables, la variable celda que
será del tipo Range y la variable resultado del tipo Double. En ésta última variable es donde
se irá acumulando la suma de todas las celdas, a parte central de la función se encuentra en la
instrucción For Each ya que realiza un recorrido por todas las celdas del rango que fue
especificado como parámetro. Para cada celda que se encuentra se va sumando su contenido
en la variable resultado.
Retornando el valor
Una vez que se han hecho los cálculos necesarios, es importante regresar el valor.
Para hacerlo es indispensable igualar el nombre de la función al valor o variable que contiene
el valor que se desea regresar. En nuestro ejemplo, la variable resultada es la que contiene la
suma de todas las celdas por lo que se iguala con el nombre de la función en la línea misuma
= resultado.
Probando la función vba
Finalmente probaré la funciónVBA recién creada dentro de una hoja de Excel. Tal como lo
definimos en el código, el único parámetro de la función debe ser un rango del cual me
regresará la suma de los valores de la celda. Observa el siguiente ejemplo, aunque la función
Mi Suma hace lo mismo que la función de Excel SUMAR, nos ha servido de ejemplo para
introducir el tema de las funciones en VBA. Con este ejemplo tan sencillo hemos creado
nuestra primera función VBA. (total, 2022)
7. BIBLIOGRAFÍA
CAMPOS, S. A. (03 de MAYO de 2019). exceleinfo. Obtenido de exceleinfo:
https://www.exceleinfo.com/
Ortiz, M. (01 de Enero de 2011). Obtenido de https://exceltotal.com/objetos-propiedades-y-
metodos/
PROPERGOL, S. (2022). Obtenido de ayudaexcel: https://ayudaexcel.com/los-operadores-
vba/
total, e. (2022). Obtenido de https://exceltotal.com: https://exceltotal.com/introduccion-a-las-
macros/#google_vignette
Vargas, N. P. (noviembre de 2015). introduccion a la programacion de excel. Obtenido de
bibdigital.epn.edu.ec:
https://bibdigital.epn.edu.ec/bitstream/15000/11934/1/Introducci%C3%B3n%20en
%20Excel%20con%20VBA.pdf