Función de Excel VBA y sub - Macros de Excel fáciles

Tabla de contenido

Función | Sub

La diferencia entre un función y un sub en Excel VBA es que una función puede devolver un valor mientras que una sub no puede. Las funciones y los subs se vuelven muy útiles a medida que aumenta el tamaño del programa.

Función

Si desea que Excel VBA realice una tarea que devuelva un resultado, puede usar una función. Coloque una función en un módulo (en el Editor de Visual Basic, haga clic en Insertar, Módulo). Por ejemplo, la función con el nombre Área.

Área de función (x como doble, y como doble) como doble
Área = x * y
Función final

Explicación: Esta función tiene dos argumentos (de tipo Double) y un tipo de retorno (la parte posterior a As también de tipo Double). Puede usar el nombre de la función (Área) en su código para indicar qué resultado desea devolver (aquí x * y).

Ahora puede hacer referencia a esta función (en otras palabras, llamar a la función) desde otro lugar de su código simplemente usando el nombre de la función y dando un valor para cada argumento.

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

Dim z como doble
z = Área (3, 5) + 2
MsgBox z

Explicación: La función devuelve un valor, por lo que debe 'capturar' este valor en su código. Puede usar otra variable (z) para esto. A continuación, puede agregar otro valor a esta variable (si lo desea). Finalmente, muestre el valor usando un MsgBox.

Resultado al hacer clic en el botón de comando en la hoja:

Sub

Si desea que Excel VBA realice algunas acciones, puede usar un sub. Coloque un sub en un módulo (en el Editor de Visual Basic, haga clic en Insertar, Módulo). Por ejemplo, el sub con el nombre Área.

Subárea (x como doble, y como doble)
MsgBox x * y
End Sub

Explicación: Este sub tiene dos argumentos (de tipo Double). ¡No tiene un tipo de retorno! Puede hacer referencia a este sub (llamar al sub) desde otro lugar en su código simplemente usando el nombre del sub y dando un valor para cada argumento.

Coloque un botón de comando en su hoja de trabajo y agregue la siguiente línea de código:

Área 3, 5

Resultado al hacer clic en el botón de comando en la hoja:

¿Puedes ver la diferencia entre la función y el sub? La función devolvió el valor 15. Agregamos el valor 2 a este resultado y mostramos el resultado final. Cuando llamamos al sub, no teníamos más control sobre el resultado (15) porque un sub no puede devolver un valor.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave