0% encontró este documento útil (0 votos)
130 vistas31 páginas

Macros Excel #1

Este documento proporciona una introducción a las macros en Excel. Explica que una macro es una serie de comandos o instrucciones que automatizan tareas complejas. Se escriben en el lenguaje de programación Visual Basic for Applications (VBA). Muestra los pasos para crear una macro, como grabar las acciones realizadas en Excel. También cubre temas como variables, funciones, objetos y eventos en VBA, lo que permite personalizar y expandir las funcionalidades de Excel. El objetivo es enseñar los conceptos básicos para que los usuarios puedan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Temas abordados

  • Centro de Confianza,
  • Retorno de Valores,
  • Depuración,
  • Métodos,
  • Seguridad de Macros,
  • Módulos en VBA,
  • Macros,
  • Recursos de Aprendizaje,
  • Desarrollo de Software,
  • Celdas
0% encontró este documento útil (0 votos)
130 vistas31 páginas

Macros Excel #1

Este documento proporciona una introducción a las macros en Excel. Explica que una macro es una serie de comandos o instrucciones que automatizan tareas complejas. Se escriben en el lenguaje de programación Visual Basic for Applications (VBA). Muestra los pasos para crear una macro, como grabar las acciones realizadas en Excel. También cubre temas como variables, funciones, objetos y eventos en VBA, lo que permite personalizar y expandir las funcionalidades de Excel. El objetivo es enseñar los conceptos básicos para que los usuarios puedan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Temas abordados

  • Centro de Confianza,
  • Retorno de Valores,
  • Depuración,
  • Métodos,
  • Seguridad de Macros,
  • Módulos en VBA,
  • Macros,
  • Recursos de Aprendizaje,
  • Desarrollo de Software,
  • Celdas

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

Common questions

Con tecnología de IA

En VBA, las propiedades y métodos son componentes esenciales de los objetos que permiten manipularlos dentro de un script. Por ejemplo, una celda en Excel (objeto Range) posee propiedades como Value, que determina el contenido de la celda, y Address, que indica su ubicación . Los métodos de una celda incluyen acciones como Clear, que borra su contenido, o Calculate, que ordena una nueva evaluación de las fórmulas en su rango . Al utilizar estos métodos y propiedades, VBA permite manejar de manera precisa y efectiva operaciones sobre objetos, proporcionando gran control y eficiencia al automatizar tareas en Excel .

Los eventos en VBA son mecanismos que permiten ejecutar código automáticamente en respuesta a acciones específicas del usuario, como abrir un libro, activar una hoja, o cambiar la selección de celdas . Utilizando eventos, los desarrolladores pueden mejorar significativamente la interacción del usuario con Excel al gatillar automáticamente funciones o procesos que dependen del contexto de su operación. Por ejemplo, un evento como Activate puede mostrar un mensaje de bienvenida personalizado cada vez que el usuario cambia a una hoja determinada . Esto no solo mejora la dinamismo y la personalización de las herramientas desarrolladas en VBA, sino que también permite integrar lógica de negocio o flujos de trabajo que dependen del comportamiento del usuario. Al monitorear y controlar acciones del usuario, los eventos en VBA facilitan la creación de aplicaciones más interactivas y contextualmente relevantes dentro de Excel.

La grabación de macros en Excel es un proceso que permite a los usuarios crear secuencias de acciones automatizadas sin requerir conocimientos de programación. Los usuarios simplemente realizan las acciones que desean automatizar mientras la grabadora registra cada paso, creando un script que puede ser ejecutado posteriormente tantas veces como sea necesario . Esto es especialmente útil para usuarios sin experiencia en programación ya que pueden crear macros eficaces de manera intuitiva y simple mediante el uso de la interfaz gráfica. La grabadora también genera el código VBA correspondiente, permitiendo a los usuarios eventualmente aprender y modificar el código para mejoras adicionales .

Automatizar la personalización de formato en Excel con VBA permite a los usuarios establecer estilos específicos en hojas de cálculo sin intervención manual. Esto se puede lograr grabando una macro que incluya cambios de formato deseados, como modificar el color de fuente o el tamaño de celda, y luego ejecutando esta macro cuando sea necesario . Con VBA, es posible programar estos cambios utilizando objetos y sus propiedades. Por ejemplo, para cambiar el color de la fuente de una celda a rojo, se podría usar la propiedad Font.Color del objeto Range . La automatización ahorra tiempo y reduce errores humanos al permitir la aplicación uniforme de estilos predefinidos a grandes volúmenes de datos, mejorando la eficiencia y consistencia del formato del documento.

VBA, o Visual Basic for Applications, es un lenguaje de programación utilizado para escribir macros en Excel. Permite automatizar tareas repetitivas mediante la grabación de acciones del usuario como pulsaciones de teclas y clics de ratón, que luego se pueden ejecutar tantas veces como se desee . VBA extiende la funcionalidad de Excel al permitir acceso a todas las herramientas del programa, permitiendo a los usuarios específicos crear scripts personalizados para manipular datos y realizar tareas complejas rápidamente .

Las funciones definidas por el usuario, o UDFs, en VBA proporcionan una manera poderosa de crear funciones personalizadas que no están disponibles en Excel de manera predeterminada. Estas funciones permiten a los usuarios diseñar algoritmos específicos para cálculos complejos que se adaptan a necesidades particulares, mejorando significativamente la flexibilidad de análisis en hojas de cálculo . Una UDF puede ser invocada como cualquier función estándar de Excel, simplificando tareas que de otro modo requerirían complicados condicionamientos o cálculos manuales. Esto potencia el uso de Excel como herramienta de análisis, permitiendo que los usuarios personalicen y extiendan la funcionalidad según sus procesos de negocio .

Las funciones InputBox y MsgBox en VBA se utilizan para interactuar con el usuario mediante cuadros de diálogo. La función InputBox solicita al usuario que introduzca datos, devolviendo el texto ingresado para usarlo en el código . Por ejemplo, puede preguntar al usuario qué celdas desea borrar y obtener el nombre del rango correspondiente para ejecutar una acción . Por otro lado, MsgBox muestra mensajes al usuario, útil para alertar sobre resultados o errores, mejorando la comunicación en la ejecución de un script VBA . Estas funciones son esenciales para crear soluciones VBA interactivas y robustas.

El modelo de objetos de Excel es una estructura que define todos los elementos dentro de Excel como objetos, como libros, hojas, celdas, tablas dinámicas y gráficos . Cada objeto tiene propiedades, que describen sus características, y métodos, que describen las acciones que puede realizar. Esto es crucial en VBA porque permite a los programadores acceder y manipular de manera precisa estos objetos mediante código, facilitando tareas como automatización y personalización de procesos repetitivos. La accesibilidad a propiedades y métodos a través del código VBA es esencial para el desarrollo de soluciones potentes y personalizadas .

El manejo de seguridad para macros en Excel está diseñado para evitar la ejecución de código malicioso que pueda dañar el sistema. Por defecto, Excel deshabilita la ejecución automática de macros para proteger al usuario . Sin embargo, los usuarios pueden modificar la configuración de seguridad a través del Centro de confianza, habilitando solo macros de ubicaciones confiables o aquellas que están firmadas digitalmente. Esto asegura que solo el código de origen confiable se pueda ejecutar, minimizando el riesgo de ejecutar macros maliciosas . Configurar adecuadamente estas opciones es crucial para mantener la integridad y seguridad del sistema al trabajar con archivos que contienen macros de fuentes externas.

Los operadores lógicos en VBA, como And, Or y Not, permiten formar condiciones complejas a partir de expresiones simples. Por ejemplo, el operador And devuelve verdadero si ambas expresiones son verdaderas: `(a >= 6) And (b >= 7)` . El operador Or retorna verdadero si al menos una de las expresiones es verdadera, mientras que Not invierte el valor de una expresión. Estos operadores se usan frecuentemente en estructuras de control de flujo para aumentar la flexibilidad de las condiciones evaluadas por el script .

También podría gustarte