Diferencia entre subrutina & Función en Excel VBA

  • Compartir Este
Hugh West

Hay muchas similitudes entre un función personalizada/función definida por el usuario y el procedimiento Subprocedimiento/Subrutina en Excel . Sin embargo, Función tienen algunas diferencias importantes con Subrutina En este artículo, veremos la diferencia entre subrutina y función en Excel VBA .

Descargar el cuaderno de prácticas

Puede descargar el cuaderno de prácticas desde aquí.

Subrutina y función.xlsm

Introducción a la subrutina & Función en Excel VBA

La diferencia más importante es que una función devuelve un valor (un número o una cadena de texto). El valor del procedimiento de la función se almacena en una variable; una variable cuyo nombre es el mismo que el de la función. La subrutina realiza un conjunto de tareas y no devuelve un valor como las funciones.

1. Función definida por el usuario de Excel VBA

Véase el siguiente ejemplo. AñadirDosNúmeros es el nombre de la función. Esta función devolverá la suma de dos números pasados como argumentos ( arg1 y arg2 La suma se almacena en una variable denominada AñadirDosNúmeros igual que el nombre de la función.

Función VBA AddTwoNumber

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

  • En primer lugar, active el Editor VBA pulsando Alt+F11 .
  • En segundo lugar, seleccione el libro de trabajo en el Proyecto ventana.
  • En tercer lugar, elija Inserte y luego Módulo para insertar un VBA También puede utilizar un módulo de código existente. El módulo de código debe ser un estándar VBA módulo.

  • A continuación, copie y pegue el siguiente código para la función. El nombre de la función debe ser único para ese libro de trabajo. Introduzca una lista de los argumentos (si los hay) entre paréntesis. Si la función no utiliza ningún argumento, se utilizará el botón Editor VBA añade un conjunto de paréntesis vacíos.
 Function SumaDosNumeros(arg1, arg2) 'Devuelve la suma de los dos números que proporciones como argumentos SumaDosNumeros = arg1 + arg2 End Function 
  • Además, esta parte es importante. Inserte el VBA El valor que desea devolver de esta función se almacenará en una variable cuyo nombre es el mismo que el de la función.
  • Por último, finalice la función con un Fin de la función .

Más información: Cómo utilizar la función definida por el usuario VBA (4 ejemplos adecuados)

Lecturas similares

  • 22 Ejemplos de macros en Excel VBA
  • 20 consejos prácticos de codificación para dominar Excel VBA
  • Cómo escribir código VBA en Excel (con pasos sencillos)
  • Tipos de macros VBA en Excel (Guía rápida)

2. Subrutina VBA de Excel

En el siguiente ejemplo, verá cómo la subrutina en Excel VBA funciona. Aquí el Sub inicia el cuerpo de la subrutina. El nombre de la subrutina es raíz_cuadrada. En el cuerpo de la subrutina, realizamos una tarea en la celda A2 La tarea consiste en realizar la raíz cuadrada en la celda A2 Esto significa que si la celda contiene cualquier número, el VBA de Excel realizará la raíz cuadrada de esa celda. El comando Fin Sub finaliza el cuerpo de la subrutina.

Para crear una subrutina, siga estos pasos:

  • En primer lugar, active el Editor VB (pulse Alt+F11 ).
  • En segundo lugar, seleccione el libro de trabajo en la ventana Proyecto ventana.
  • En tercer lugar, elija Inserte y luego Módulo para insertar un módulo VBA. También puede utilizar un módulo de código existente. El módulo de código debe ser un módulo VBA estándar.

  • A continuación, introduzca la palabra clave SUB seguido del nombre de la subrutina.
  • Además, inserte el VBA código que desea realizar.
 Sub raíz_cuadrada() Rango("C5").Valor = Rango("C4").Valor ^ (1 / 2) End Sub 
  • Por último, la subrutina con un Fin Sub .

Diferencias clave entre subrutina & Función en Excel VBA

Después de realizar la subrutina y las funciones por separado podemos concluir las diferencias en la siguiente tabla.

Funciones Subrutinas
1) Devuelve un valor. 1) Realiza un conjunto de tareas pero no devuelve ningún valor.
2) Las funciones se llaman utilizando una variable. 2) Puede recuperarse desde cualquier parte del programa en múltiples tipos después de la declaración.
3) Pueden utilizarse como fórmulas en las hojas de cálculo. 3) No pueden utilizarse directamente en las hojas de cálculo como fórmulas.
4) Podemos utilizar funciones como fórmulas en las hojas de cálculo. Podemos ejecutarlas varias veces después de ejecutar el código. 4) Para encontrar el resultado de la subrutina VBA de Excel tenemos que insertar primero un valor en la celda deseada.
5) Sintaxis:

Función Nombre_de_función()

/Conjunto de códigos

Fin de la función

5) Sintaxis:

Sub Sub_Nombre ()

/Conjunto de códigos

Fin Sub

Cosas para recordar

  • El promotor tab debe estar activado antes de utilizar estos métodos.
  • Podemos encontrar Subrutina en Macros en el Desarrollador mientras que las funciones definidas por el usuario en la pestaña Función utilizando la búsqueda personalizada.

Conclusión

Si sigues teniendo problemas con alguna de estas instrucciones o tienes discrepancias, háznoslo saber en los comentarios. Nuestro equipo está listo para responder a todas tus preguntas. Para cualquier problema relacionado con Excel, puedes visitar nuestro sitio web ExcelWIKI para encontrar soluciones.

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.