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 todos en el mundo deberían aprender a programar una computadora. Puede que no sea necesario que termine trabajando como programador o escribiendo programas, pero le enseñará a pensar.
En este tutorial de VBA, cubriremos los siguientes temas.
- ¿Qué es Visual Basic para Aplicaciones (VBA)?
- ¿Por qué VBA?
- Aplicaciones personales y comerciales de VBA en Excel
- Introducción a Visual Basic para aplicaciones
- Ejemplo paso a paso de cómo crear una calculadora EMI simple en Excel
- Ejemplo de Excel de VBA
¿Qué es Visual Basic para Aplicaciones (VBA)?
Visual Basic para Aplicaciones (VBA) es un lenguaje de programación impulsado por eventos implementado por Microsoft para desarrollar aplicaciones de Office. VBA ayuda a desarrollar procesos de automatización, API de Windows 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 de computadoras en un lenguaje común. Suponga que tiene una criada. Si quieres que la empleada limpie la casa y lave la ropa. Dígale qué hacer usando digamos inglés y ella hace el trabajo por usted. Mientras trabaja con una computadora, querrá realizar ciertas tareas. Al igual que le dijo a la criada que hiciera las tareas de la casa, también puede decirle a la computadora que las haga por usted.
El proceso de decirle a la computadora lo que quiere que haga por usted es lo que se conoce como programación de computadoras. Del mismo modo que usó el inglés para decirle a la criada qué hacer, también puede usar declaraciones similares en inglés para decirle a la computadora qué hacer. Las declaraciones similares en inglés entran en la categoría de idiomas de alto nivel. VBA es un lenguaje de alto nivel que puede usar para doblar Excel a su voluntad todopoderosa.
VBA es en realidad un subconjunto de Visual Basic 6.0 BASIC significa B eginners A ll-Purpose S ymbolic I nstruction C ode.
¿Por qué VBA?
VBA le permite usar 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 solo tiene que arrastrar y soltar los controles de la interfaz. También le permite mejorar la funcionalidad de Excel al hacer que se comporte de la manera que desee.
Aplicaciones personales y comerciales de VBA en Excel
Para uso personal, puede usarlo para macros simples que automatizarán la mayoría de sus tareas rutinarias. Lea el artículo sobre Macros para obtener más información sobre cómo puede lograrlo.
Para uso comercial, puede crear programas completos y potentes con tecnología de Excel y VBA. La ventaja de este enfoque es que puede aprovechar las poderosas funciones de Excel en sus propios programas personalizados.
Introducción a Visual Basic para aplicaciones
Antes de que podamos escribir cualquier código, primero debemos conocer los conceptos básicos. Los siguientes conceptos básicos le ayudarán a empezar.
- Variable : en la escuela secundaria aprendimos sobre álgebra. Encuentre (x + 2y) donde x = 1 e y = 3. En esta expresión, xey 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 al igual que en las clases de álgebra
- Reglas para crear variables
- No use palabras reservadas: si trabaja como estudiante, no puede usar el título de profesor o director. Estos títulos están reservados para los profesores y 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. Puede utilizar firstNumber o first_number.
- Utilice nombres descriptivos: es muy tentador nombrar una variable con su nombre, pero evite esto. Use nombres descriptivos, es decir, cantidad, precio, subtotal, etc., esto hará que su código Excel VBA sea fácil de leer
- Operadores aritméticos: se aplican las reglas de los corchetes de división, multiplicación, suma y resta (BODMAS), así que recuerde aplicarlas cuando trabaje con expresiones que utilicen varios operadores aritméticos diferentes. Al igual que en Excel, puede utilizar
- + para la adición
- - para restar
- * para multiplicar
- / para la división.
- Operadores lógicos: el concepto de operadores lógicos cubierto en los tutoriales anteriores también se aplica cuando se trabaja con VBA. Éstos incluyen
- Si declaraciones
- O
- NO
- Y
- CIERTO
- 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:
- Crea un nuevo libro de trabajo
- Haga clic en el botón de inicio de la cinta
- Seleccione opciones
- Haga clic en personalizar la 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 significa 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 pedir el nombre del usuario y luego muestra un mensaje de saludo.
Este tutorial asume que ha completado el tutorial sobre Macros en Excel y ha habilitado la pestaña DESARROLLADOR en Excel.
- Crea un nuevo libro de trabajo
- Guárdelo en un formato de hoja de trabajo habilitado para macros de Excel * .xlsm
- Haga clic en la pestaña DESARROLLADOR
- Haga clic en el cuadro desplegable INSERTAR debajo de la barra de cinta de controles
- Seleccione un botón de comando como se muestra en la imagen a continuación
Dibuje el botón de comando en cualquier lugar de la hoja de trabajo
Obtendrá la siguiente ventana de diálogo
- Cambie el nombre del macro a btnHelloWorld_Click
- Haga clic en el botón nuevo
- Obtendrá la siguiente ventana de código VBA
Ingrese los siguientes códigos de instrucción
Dim name As Stringname = InputBox("Enter your name")MsgBox "Hello " + name
AQUÍ,
- "Dim name as String" crea una variable llamada nombre. La variable aceptará texto, números y otros caracteres porque la definimos como una cadena
- "name = InputBox (" Ingrese su nombre ")" llama a la función incorporada InputBox que muestra una ventana con el título Ingrese su nombre. Luego, el nombre ingresado se almacena en la variable de nombre.
- " MsgBox" Hola "+ nombre" llama a la función incorporada MsgBox que muestra Hola y el nombre ingresado.
Su ventana de código completa ahora debería verse como sigue
- Cerrar la ventana de código
- Haga clic derecho en el botón 1 y seleccione editar texto
- Entrar Saluda
- Haga clic en Say Hello
- Obtendrá el siguiente cuadro de entrada
- Ingrese su nombre, es decir, Jordan
- Obtendrá 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 simple en Excel
En este ejercicio tutorial, crearemos un programa simple que calcula la EMI. EMI es el acrónimo de Equated Monthly Installment. Es la cantidad mensual que paga cuando obtiene 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 ha ocupado 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Í,
- "tasa" es la tasa mensual. Es la tasa de interés dividida por la cantidad de pagos por año.
- "nper" es el número total de pagos. Es el plazo del préstamo multiplicado por la cantidad de pagos por año.
- Valor presente "pv" . 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 el nombre de macro btnCalculateEMI_Click
Haga clic en el botón editar
Ingrese el siguiente código
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Doublemonthly_rate = Range("B6").Value / Range("B5").Valueloan_amount = Range("B3").Valuenumber_of_periods = Range("B4").Value * Range("B5").Valueemi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)Range("B9").Value = emi
AQUÍ,
- "Dim month_rate As Single, ..." Dim es la palabra clave que se utiliza para definir variables en VBA, Month_rate es el nombre de la variable, Single es el tipo de datos que significa que la variable aceptará el número.
- "mensual_rate = Rango (" B6 "). Valor / Rango (" B5 "). Valor" El rango es la función utilizada para acceder a las celdas de Excel desde VBA, Rango ("B6"). El valor hace referencia al valor en B6
- "WorksheetFunction.Pmt (…)" WorksheetFunction es la función que se utiliza para acceder a todas las funciones en Excel
La siguiente imagen muestra el código fuente completo
- Haga clic en guardar y cerrar la ventana del código
- Pruebe su programa como se muestra en la imagen animada a continuación
Ejemplo de Excel de VBA
Paso 1) En la pestaña Desarrollador del menú principal, haga clic en el icono "Visual Basic" y se abrirá su editor de VBA.
Paso 2) Se abrirá un editor de VBA, desde donde puede seleccionar la hoja de Excel donde desea ejecutar el código. Para abrir el editor de VBA, haga doble clic en la hoja de trabajo.
Abrirá un editor de VBA en el lado derecho de la carpeta. Aparecerá como un espacio en blanco.
Paso 3) 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 MsgBox.
- Primero, escriba "Sub" y luego su "nombre de programa" (Guru99)
- Escriba todo lo que desee mostrar en MsgBox (guru99-learning es divertido)
- Finalice el programa con End Sub
Paso 4) 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) Cuando ejecute el código, aparecerá otra ventana. Aquí debe seleccionar la hoja donde desea mostrar el programa y hacer clic en el botón "Ejecutar"
Paso 6) Cuando haga clic en el botón Ejecutar, el programa se ejecutará. Mostrará el mensaje en MsgBox.
Descargue el código de Excel anterior
Resumen
Forma completa de VBA: Visual Basic para la aplicación. Es un subcomponente del lenguaje de programación visual básico que puede utilizar para crear aplicaciones en Excel. Con VBA, aún puede aprovechar las poderosas funciones de Excel y usarlas en VBA.