Un Procedimiento sub sirve para contener un conjunto de comandos o instrucciones en VBA, el procedimiento sub permite delimitar el inicio y fin de una programa, y puede tener parámetros (argumentos) como parte de la sintaxis.
Sintaxis de un Procedimiento Sub
Un procedimiento usualmente comienza con la palabra clave Sub debe y sigue la siguiente sintaxis:
[Private / Public][Static] Sub nombre [(lista argumentos)]
[instrucciones]
[Exit Sub]
[instrucciones]
End Sub
Elementos empleados:
Private: Es opcional, sirve para indicar que procedimiento es sólo es accesible para otros procedimientos del mismo módulo.
Public: Es opcional, sirve para indicar que el procedimiento es accesible desde cualquier parte del libro de trabajo.
Static: Es opcional, nos indica que las variables del procedimiento se conservan cuando el procedimiento concluye.
Sub: Este elemento es obligatorio, es la palabra clave que indica el principio de un procedimiento.
Nombre: Este elemento es requerido, es el nombre del procedimiento, este nombre debe ser único dentro del libro.
Lista argumentos: Los argumentos o parámetros son opcionales, son una lista de variables, encerradas entre paréntesis, que reciben los valores pasados al procedimiento. Para separar los argumentos se usa una coma.
Instrucciones: Es opcional, son los comandos o instrucciones correspondientes al procedimiento o macro.
Exit Sub: Es una instrucción opcional, se utiliza para forzar la salida inmediata del procedimiento antes de su conclusión formal (por medio de un end sub)
End Sub: Es un elemento requerido, sirve para indicar el fin del procedimiento.
A lo largo de todo nuestro blog de Excel Avanzado se encuentran ejemplos muy diversos en los que se utilizan estos procedimientos.
Ámbito del Procedimiento
El ámbito de una variable determina los módulos y procedimientos en los que la variable se puede usar, de forma similar, el ámbito de un procedimiento determina los otros procedimientos a los que puede llamar.
Procedimientos Public
Los procedimientos, de forma predeterminada son públicos, es decir, pueden ser llamados por otros procedimientos de cualquier módulo del libro de trabajo, no es necesario usar la palabra clave Public.
En los siguientes ejemplos tanto la macro1 como la macro2 son públicas:
Sub macro1
[código en VBA]
End Sub
Public Sub macro2()
[código en VBA]
End Sub
Procedimientos Private
Los procedimientos privados (private) pueden ser llamados por otros procedimientos del mismo módulo, pero no por procedimientos de otros módulos.
Tenga en cuenta que el cuadro de diálogo "Macro" (este cuadro esta disponible desde la ficha programador / desarrollador, opción "Macros" ) solo muestra los procedimientos públicos. Esto impide al usuario ejecutar el procedimiento desde el cuadro de diálogo Macro.
El siguiente ejemplo declara un procedimiento privado, llamado macro3:
Private Sub macro3O
[código en VBA]
End Sub
Todos los procedimientos de un módulo pueden ser forzados a ser privados (incluso los declarados con la palabra clave Public) usando el siguiente código en VBA al inicio del módulo:
Option Private Module
Si se escribe esta instrucción en un módulo se puede omitir la palabra clave Private de las declaraciones Sub.
Para continuar aprendiendo acerca de las Macros, se recomienda visitar: Introducción a VBA