VBA: Sub vs Función

¿Alguna vez has sentido curiosidad por el lenguaje de programación VBA y sus diferentes funcionalidades? Si es así, estás en el lugar correcto. En este artículo, exploraremos las diferencias entre dos conceptos clave en VBA: las subrutinas (Sub) y las funciones (Función). A medida que descubramos las características únicas de cada una de ellas, te daremos ejemplos prácticos y consejos para aprovechar al máximo tus habilidades de programación en VBA. ¡Prepárate para adentrarte en el mundo de VBA y mejorar tus proyectos de automatización!

Obtenga más información sobre los comandos de VBA

Más de 1,8 millones de profesionales utilizan CFI para aprender contabilidad, análisis financiero, modelado y más. Comience con una cuenta gratuita para explorar más de 20 cursos siempre gratuitos y cientos de plantillas financieras y hojas de trucos.

¿Qué es Sub vs Función?

En este artículo discutiremos las diferencias clave entre un sub y una función. Ambos son conjuntos de comandos que se utilizan para realizar tareas específicas en la aplicación Visual Basic (VBA) de Microsoft Excel.

VBA: Sub vs Función

Un subprograma, también llamado subprograma o subprocedimiento, es una sección de código que se utiliza para realizar una tarea específica mencionada en el código pero que no devuelve un valor.

Por otro lado, una función, también llamada procedimiento de función definida por el usuario, es un fragmento de código que realiza una tarea específica especificada por el usuario de Excel y devuelve un resultado. Uno de los usos de los procedimientos funcionales es realizar tareas repetitivas.

Descargue la hoja de trucos de VBA

Utilice el siguiente formulario para obtener acceso a nuestra completa hoja de referencia de VBA, que proporciona una descripción general de códigos y macros importantes, terminología y mejores prácticas en Excel VBA.

VBA Sub vs Función: Diferencias Clave

Las principales diferencias entre un sub y una función son las siguientes:

Sub función
Un Sub ejecuta una tarea pero no devuelve ningún valor. Una función devuelve un valor de las tareas ejecutadas.
Se puede acceder a los subs desde cualquier parte del programa y en varios tipos. Las funciones se llaman desde una variable.
Los subs no se pueden utilizar directamente en hojas de cálculo como fórmulas. Las funciones se utilizan directamente en hojas de cálculo como fórmulas.
Los usuarios deben ingresar un valor en la celda deseada antes de obtener el resultado del sub. Las funciones se pueden utilizar para realizar tareas repetitivas y devolver un valor.
Los usuarios de Excel pueden ejecutar un sub VBA. Los usuarios de Excel no pueden ejecutar funciones de VBA.

¿Qué es un sub VBA?

Un Sub puede describirse como un pequeño programa en el editor VBA que realiza una acción específica en Excel. Se utiliza para dividir grandes fragmentos de código en fragmentos más pequeños que se pueden administrar fácilmente.

El comando se utiliza para realizar tareas que pueden incluir actualizar una celda, realizar un cálculo o importar un archivo a la aplicación Excel. Sin embargo, los resultados de las tareas no se devuelven a otro sub.

¿Cómo escribo un subprocedimiento en Excel?

Al escribir un sub, se deben seguir las siguientes reglas:

  • El subprograma no debe contener espacios.
  • El subprocedimiento no debe comenzar con un carácter o número especial. Utilice una letra o un guión bajo en su lugar.
  • El nombre del subprograma no debe ser una palabra clave o una palabra reservada en VBA. Ejemplos de palabras reservadas son Función, Subrutina, Privación, Fin, etc.

Al escribir Sub, usamos la palabra clave Sub y un nombre como nombre del procedimiento para declarar Sub. El subprocedimiento debe ser seguido por la tarea a ejecutar, la cual está escrita en lenguaje VBA. El Sub debe terminar con la declaración End Sub.

Un sub debe seguir la siguiente estructura:

Sub [Procedure name] (Parámetro)

[Tasks that need to be done]

Fin sub.

Tipos de subprocedimientos en VBA

Un subprocedimiento puede adoptar dos formas: privada y pública. Los modificadores privados y públicos permiten a los usuarios usar los subs de manera diferente. El subprocedimiento privado solo se puede utilizar en el módulo actual. El sub público permite a los usuarios utilizar el procedimiento en todos los módulos presentes en el libro de trabajo.

¿Qué es una función VBA?

Una función de VBA es similar a un subprocedimiento, excepto que la primera puede devolver un valor pero el segundo no. Es una sección de código a la que se puede acceder desde cualquier lugar del editor VBA, lo que elimina la necesidad de escribir las mismas líneas de código cada vez. VBA permite a los usuarios utilizar funciones integradas y personalizadas.

Las funciones de VBA funcionan de la misma manera que las fórmulas en Excel y pueden usarse para realizar tareas repetitivas. Los usuarios pueden crear funciones personalizadas para cualquier acción y luego acceder a las funciones desde una celda o desde una celda mediante una referencia directa.

Por ejemplo, un usuario puede utilizar funciones para crear un programa que calcule el interés mensual a pagar por un préstamo de automóvil. La función incluye campos que aceptan el monto total del préstamo y la duración del pago. Después de ingresar los valores requeridos, el programa devuelve el valor de interés a pagar mensualmente. Vehículo de motor.

¿Cómo escribo una función personalizada?

Para crear una función personalizada, siga estos pasos:

  1. Abra MS Excel y presione Alt+F11 para activar el editor VBA.
  2. Seleccione el libro de trabajo específico en el proyecto.
  3. Vaya al menú, haga clic en “Insertar” y luego haga clic en “Módulo” para insertar un módulo VBA estándar.
  4. En el módulo, ingrese el término función seguido de un nombre de función único. Si la función toma un argumento, agregue la lista de argumentos entre paréntesis.
  5. Pegue el código VBA que realiza la tarea prevista. El programa almacena el valor del resultado en una variable y usa el mismo nombre que la función.
  6. Complete la función con la función final.

Lecturas relacionadas

Para continuar aprendiendo y desarrollando su base de conocimientos, explore los siguientes recursos adicionales relevantes:

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Deja un comentario

¡Contenido premium bloqueado!

Desbloquear Contenido
close-link