VBA en Excel: ¿Qué es Visual Basic para aplicaciones, cómo utilizarlo?
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Deseo extender las sabias palabras de Steve Jobs y decir que todo el mundo debería aprender a programar un ordenador. Puede que no acabes trabajando como programador ni escribiendo programas, pero te enseñará a pensar.
¿Qué es Visual Basic para Aplicaciones (VBA)?
Visual Basic para Aplicaciones (VBA) es un lenguaje de programación basado en eventos implementado por Microsoft para desarrollar aplicaciones de Office. VBA ayuda a desarrollar procesos de automatización, Windows API y funciones definidas por el usuario. También le permite manipular las funciones de la interfaz de usuario de las aplicaciones host.
Antes de entrar en más detalles, veamos qué es la programación informática en un lenguaje sencillo. Supongamos que tienes una empleada doméstica. Si quieres que la empleada limpie la casa y lave la ropa, le dices lo que tiene que hacer, por ejemplo, en inglés, y ella hace el trabajo por ti. Cuando trabajas con un ordenador, querrás realizar determinadas tareas. Del mismo modo que le has dicho a la empleada doméstica que haga las tareas de la casa, también puedes decirle al ordenador que haga las tareas por ti.
El proceso de decirle a la computadora lo que quiere que haga por usted es lo que se conoce como programación informática. Así como usó el inglés para decirle a la criada qué hacer, también puede usar declaraciones similares al inglés para decirle a la computadora qué hacer. Las declaraciones similares al inglés caen en la categoría de idiomas de alto nivel. VBA es un lenguaje de alto nivel que puede utilizar para doblegar Excel a su todopoderosa voluntad.
VBA es en realidad un subconjunto de Visual Basic 6.0 BASIC significa Bprincipiantes Amultipropósito Ssimbólico Instrucción Coda.
¿Por qué VBA?
VBA le permite utilizar declaraciones similares al inglés para escribir instrucciones para crear varias aplicaciones. VBA es fácil de aprender y tiene una interfaz de usuario fácil de usar en la que sólo tiene que arrastrar y soltar los controles de la interfaz. También le permite mejorar la funcionalidad de Excel haciendo que se comporte como usted desea.
Aplicaciones personales y comerciales de VBA en Excel
Para uso personal, puedes usarlo para macros simples que automatizarán la mayoría de tus tareas rutinarias. Lea el artículo sobre Macros para obtener más información sobre cómo lograrlo.
Para uso empresarial, puede crear programas completos y potentes con tecnología de Excel y VBA. La ventaja de este enfoque es que puede aprovechar las potentes funciones de Excel en sus propios programas personalizados.
Introducción a Visual Basic para Aplicaciones
Antes de poder escribir cualquier código, primero debemos conocer los conceptos básicos. Los siguientes conceptos básicos te ayudarán a comenzar.
- Variable – en la secundaria aprendimos sobre álgebra. Encuentre (x + 2y) donde x = 1 e y = 3. En esta expresión, x e y son variables. Se les puede asignar cualquier número, es decir, 1 y 3 respectivamente, como en este ejemplo. También se pueden cambiar para decir 4 y 2 respectivamente. En resumen, las variables son ubicaciones de memoria. Mientras trabaja con VBA Excel, también se le pedirá que declare variables como en las clases de álgebra.
-
Reglas para crear variables.
- No utilices palabras reservadas: si trabajas como estudiante, no puedes utilizar el título de profesor o director. Estos títulos están reservados a los profesores y a la autoridad escolar. Las palabras reservadas son aquellas palabras que tienen un significado especial en Excel VBA y, como tales, no puede usarlas como nombres de variables.
- Los nombres de las variables no pueden contener espacios; no se puede definir una variable denominada primer número. Puedes usar firstNumber o first_number.
- Utilice nombres descriptivos: es muy tentador ponerle su nombre a una variable, pero evítelo. Utilice nombres descriptivos, es decir, cantidad, precio, subtotal, etc., esto hará que su código Excel VBA sea fácil de leer.
-
Operadores aritméticos – Las reglas de Brackets Las operaciones de división, multiplicación, suma y resta (BODMAS) se aplican, por lo que debe recordar aplicarlas cuando trabaje con expresiones que utilicen varios operadores aritméticos diferentes. Al igual que en Excel, puede utilizar
- + para sumar
- – para restar
- * para multiplicar
- / para división.
-
Operadores lógicos: el concepto de operadores lógicos que se trató en los tutoriales anteriores también se aplica cuando se trabaja con VBA. Estos incluyen:
- Si declaraciones
- OR
- NO
- Y
- VERDADERO
- FALSO
Cómo habilitar la pestaña Desarrollador
A continuación se muestra el proceso paso a paso sobre cómo habilitar la pestaña de desarrollador en Excel:
- Crear un libro de trabajo nuevo
- Haga clic en el botón de inicio de la cinta
- Ver
- Haga clic en personalizar cinta
- Seleccione la casilla de verificación del desarrollador como se muestra en la imagen a continuación
- haga clic en Aceptar
Ahora podrá ver la pestaña DESARROLLADOR en la cinta
VBA ¡Hola mundo!
Ahora demostraremos cómo programar en el lenguaje de programación VBA. Todos los programas en VBA deben comenzar con “Sub” y terminar con “End sub”. Aquí el nombre es el nombre que desea asignar a su programa. Mientras que sub representa una subrutina que aprenderemos en la parte posterior del tutorial.
Sub name() . . . End Sub
Crearemos un programa VBA básico que muestra un cuadro de entrada para solicitar el nombre del usuario y luego muestra un mensaje de saludo.
Este tutorial asume que ha completado el tutorial sobre macros en excel y he habilitado la pestaña DESARROLLADOR en Excel.
- Crear un nuevo libro de trabajo
- Guárdelo en una hoja de cálculo habilitada para macros de Excel en formato *.xlsm
- Haga clic en la pestaña DESARROLLADOR
- Haga clic en el cuadro desplegable INSERTAR debajo de la barra de la cinta de controles
- Seleccione un botón de comando como se muestra en la imagen a continuación
Dibuja el botón de comando en cualquier lugar de la hoja de trabajo.
Obtendrá la siguiente ventana de diálogo
- Cambie el nombre de la macro a btnHelloWorld_Click
- Haga clic en el botón nuevo
- Obtendrá la siguiente ventana de código VBA
Introduzca los siguientes códigos de instrucciones
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
AQUÍ,
- “Nombre atenuado como cadena” crea una variable llamada nombre. La variable aceptará texto, números y otros caracteres porque la definimos como una cadena.
- “nombre = EntradaBox("Introduzca su nombre")" llama a la función incorporada EntradaBox que muestra una ventana con el título Ingresa tu nombre. El nombre ingresado luego se almacena en la variable de nombre.
- "msgBox “Hola” + nombre” llama a la función integrada MsgBox que muestra Hola y el nombre ingresado.
Su ventana de código completa ahora debería verse de la siguiente manera
- Cerrar la ventana del código
- Haga clic derecho en el botón 1 y seleccione editar texto
- Entrar Saludar
- Haga clic en decir hola
- Obtendrá el siguiente cuadro de entrada
- Introduzca su nombre, es decir, Jordania
- Recibirá el siguiente cuadro de mensaje
Felicitaciones, acaba de crear su primer programa VBA en Excel.
Ejemplo paso a paso de cómo crear una calculadora EMI sencilla en Excel
En este ejercicio tutorial, vamos a crear un programa sencillo que calcule la EMI. EMI es el acrónimo de Equated Monthly Instalment (cuota mensual equiparada). Es el importe mensual que pagas cuando obtienes un préstamo. La siguiente imagen muestra la fórmula para calcular la EMI.
La fórmula anterior es compleja y se puede escribir en Excel. La buena noticia es que Excel ya se ocupó del problema anterior. Puede utilizar la función PMT para calcular lo anterior.
La función PMT funciona de la siguiente manera
=PMT(rate,nper,pv)
AQUÍ,
- "Velocidad" esta es la tarifa mensual. Es la tasa de interés dividida por el número de pagos por año.
- “nper” es el número total de pagos. Es el plazo del préstamo multiplicado por el número de pagos por año.
- “pv” valor presente. Es el monto real del préstamo.
Cree la GUI usando celdas de Excel como se muestra a continuación
Agregue un botón de comando entre las filas 7 y 8
Asigne al botón un nombre de macro btnCalculateEMI_Click
Haga clic en el botón editar
Introduzca el siguiente código
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double monthly_rate = Range("B6").Value / Range("B5").Value loan_amount = Range("B3").Value number_of_periods = Range("B4").Value * Range("B5").Value emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount) Range("B9").Value = emi
AQUÍ,
- “Atenuar tasa_mensual como soltero,…” Dim es la palabra clave que se utiliza para definir variables en VBA, tasa_mensual es el nombre de la variable, Único es el tipo de datos que significa que la variable aceptará números.
- “tasa_mensual = Rango(“B6”).Valor / Rango(“B5″).Valor” Rango es la función utilizada para acceder a celdas de Excel desde VBA, Rango (“B6”). El valor hace referencia al valor en B6.
- “WorksheetFunction.Pmt(…)” WorksheetFunction es la función utilizada para acceder a todas las funciones en Excel.
La siguiente imagen muestra el código fuente completo
- Haga clic en guardar y cierre la ventana del código.
- Pruebe su programa como se muestra en la imagen animada a continuación
Cómo usar VBA en Excel Ejemplo
Los siguientes pasos explicarán cómo utilizar VBA en Excel.
Paso 1) Abra su editor VBA
En la pestaña Desarrollador del menú principal, haga clic en el icono "Visual Basic" y se abrirá su editor VBA.
Paso 2) Seleccione la hoja de Excel y Double haga clic en la hoja de trabajo
Se abrirá un editor de VBA, desde donde podrá seleccionar la hoja de Excel donde desea ejecutar el código. Para abrir el editor de VBA haga doble clic en la hoja de cálculo.
Abrirá un editor VBA en el lado derecho de la carpeta. Aparecerá como un espacio en blanco.
Paso 3) Escribe cualquier cosa que quieras mostrar en el mensaje.Box
En este paso veremos nuestro primer programa VBA. Para leer y mostrar nuestro programa necesitamos un objeto. En VBA ese objeto o medio en un mensajeBox.
- Primero escribe “Sub” y luego tu “nombre de programa” (Guru99)
- Escribe cualquier cosa que quieras mostrar en el mensaje.Box (guru99-aprender es divertido)
- Finalizar el programa por End Sub
Paso 4) Haga clic en el botón verde ejecutar en la parte superior del editor.
En el siguiente paso, debe ejecutar este código haciendo clic en el botón verde de ejecución en la parte superior del menú del editor.
Paso 5) Seleccione la hoja y haga clic en el botón "Ejecutar"
Cuando ejecute el código, aparecerá otra ventana. Aquí tienes que seleccionar la hoja donde quieres mostrar el programa y hacer clic en el botón “Ejecutar”
Paso 6) Mostrar el mensaje en MsgBox
Cuando haga clic en el botón Ejecutar, el programa se ejecutará. Mostrará el mensaje en Msg.Box.
Descargue el código de Excel anterior
Resumen
Forma completa de VBA: Visual Basic para aplicaciones. Es un subcomponente del lenguaje de programación visual básico que puede utilizar para crear aplicaciones en Excel. Con VBA, aún puedes aprovechar las potentes funciones de Excel y utilizarlas en VBA.