En Excel, puedes diseñar programas informáticos reales utilizando Macros VBA.
Todos los programas de computadora se construyen de la misma manera.
- variables (para almacenar valores intermedios)
- Pruebas para comparar 2 elementos o 2 valores.
- y finalmente bucles para realizar repeticiones de ejecución.
¿Macros o VBA?
Los términos son equivalentes hoy. Una búsqueda en Internet con uno u otro de estos términos le remitirá sistemáticamente a líneas de código.
En el origen de la informática, las aplicaciones permitían registrar tareas o acciones mediante macrocomandos. El término macro ha quedado para indicar que un programa diseñado por un usuario realizará acciones.
VBA es la contracción de Visual Basic para aplicaciones. En Office (y no sólo en Excel), el lenguaje de programación utilizado es Visual Basic. Sin embargo, los términos utilizados por Excel (celdas, hoja de cálculo, rango de datos, etc.) son específicos de Excel. En Access o Word, estos términos no significan nada.
Entonces, la A en VBA significa que trabajará con palabras clave específicas de Excel.
Comprender un programa en VBA
El editor de Visual Basic
Las macros de VBA se escriben en el Editor de Visual Basic. Para abrirlo simplemente presione las teclas Alt + F11

El editor de macros se abre en un programa independiente.
Escribir código en procedimientos.
Para ejecutarse una macro debe estar escrita en un procedimiento (subrutina en inglés con el diminutivo Sub)
Sub MonProgramme()
Votre code ...
End Sub
¿Cómo se codifica una celda?
Una celda se codifica de la siguiente manera
Cells(numéro ligne, numéro colonne)
A diferencia de un referencia de celda en Excel (A5, B10), en VBA, primero se escribe la fila y luego la columna.
Pero también es posible codificar una celda o un rango de celdas con referencias "duras" (que nunca se moverá) me gusta
Range("A1")- y
Range("B6:AF13")al final del código para indicar que el programa funcionará en las celdas entre B6 y AF13
¿Qué es una variable?
Una variable es un elemento del código que verá cambiar su valor. Además, una variable debe respetar un cierto tipo de datos para preservar la integridad de un programa. No puedes agregar números con texto, por ejemplo.
En el caso de calendario automático, reemplazaremos el parámetro de columna de una celda con una variable. Como resultado, será posible recorrer las celdas que contienen los días 29, 30 y 31 con la misma línea de código.
¿Qué es un bucle?
En informática, un bucle corresponde a la repetición de una misma acción hasta alcanzar un valor o una condición para detener la secuencia. Por ejemplo, con el siguiente código repetiremos la acción de poner un valor en las celdas de A10 a A1 10 veces
For i = 1 To 10
Cells(i, 1) = i
Next
¿Qué es una prueba en un programa de computadora?
Una prueba en un programa es lo mismo que para el Función SI en Excel. A prueba lógica se realiza entre 2 elementos y dependiendo del resultado (Verdadero o Falso) se realiza una conexión con la prueba Real o a la prueba Faux.
Por ejemplo, el siguiente código prueba el contenido de la celda D5 y muestra un mensaje en consecuencia.
If Cells(5, 4) = 8 Then
MsgBox "La cellule D5 contient la valeur 8"
Else
MsgBox "La cellule D5 est différente de 8"
End if
Cómo depurar un programa VBA
Si tiene dificultades para encontrar el origen de sus errores en VBA, esta guía le explicará cómo utilizar el depurador.
15/03/2024 a las 10:46
Bonjour,
Creé un sistema de gestión de producción con hojas de producción, seguimiento de producción con macros. Pero mi libro de Excel ha tardado mucho en ejecutar macros por un tiempo y durante la ejecución me marca en la parte superior izquierda ¡Excel no responde!
¿Alguien tiene una explicación para mi problema y sobre todo cómo solucionarlo? .
Estoy usando Excel 2019 Home Edition
Gracias de antemano
Juan Lucas
08/02/2022 a las 17:47
Hola, soy contador y me gustaría aprender cómo funciona una fórmula macro en una tabla de depreciación de Excel.
Cordialement.
23/07/2023 a las 21:06
Aquí hay un ejemplo de programación simple:
Sub btnCalcularEMI_Click()
Dim tasa_mensual como simple, monto_del_préstamo como doble, número_de_periodos como simple, emi como doble
tasa_mensual = Rango("B6").Valor / Rango("B5").Valor 'tasa de interés / número de pagos por año
monto_préstamo = Rango("B3").Valor 'monto del préstamo
número_de_periodos = Rango("B4").Valor * Rango("B5").Valor 'plazo del préstamo * número de pagos por año
emi = WorksheetFunction.Pmt(tasa_mensual, número_de_períodos, -monto_préstamo)
Rango("B9").Valor = emi
End Sub