Subfunción VBA

Es el componente más esencial y significativo de VBA. Un procedimiento de rutina Sub es una serie de instrucciones de Visual Basic encerradas por las instrucciones Sub y End Sub. SUB significa procedimiento de subrutina, es una serie de declaraciones VBScript, donde no devuelve un resultado o valor.

Los subprocedimientos generalmente toman argumentos o códigos (es decir, variables, constantes o expresiones que se pasan mediante un procedimiento de llamada) que se llevan a cabo para realizar una tarea específica. La declaración secundaria contiene un conjunto vacío de paréntesis () sin ningún argumento.

Echemos un vistazo, ¿Cómo escribir subprocedimientos en Excel VBA?

Estructura básica de VBA Sub

Sub (Subprocedimiento o nombre de la tarea) ()

(¿Qué tarea hay que hacer?)

End Sub

Por lo general, la subrutina comienza con una instrucción Sub y termina con una instrucción End Sub . El subprocedimiento o el nombre de la tarea también se denomina nombre de macro, donde no debe contener espacios ni un nombre único. Sub acepta entrada o código del usuario y muestra o imprime información. Cuando finaliza la declaración, o al final de la declaración, se utiliza End Sub

Nota: Sub solo puede tomar argumentos, no devuelven resultados

Diferentes tipos de subrutina en VBA (MODIFICADORES DE ACCESO)

  1. Sub procedimiento público
  2. Sub procedimiento privado

Antes de conocer la diferencia entre ellos, debe tener en cuenta que el "nivel de acceso" es un grado de capacidad para acceder a él. Public Sub es similar a Sub, donde Procedimiento le permite usar el procedimiento o el código VBA en todos los módulos del libro. mientras que Private Sub Procedure le permite usar el procedimiento o el código VBA solo en el módulo actual. (Explicado en el ejemplo)

¿Cómo usar Subfunción en Excel VBA?

A continuación se muestran los diferentes ejemplos para usar Subfunción en Excel con código VBA.

Puede descargar esta plantilla de VBA Sub Excel aquí - Plantilla de VBA Sub Excel

Subfunción VBA - Ejemplo # 1

Paso 1: en la pestaña Desarrollador, haga clic en Visual Basic en el grupo Código o puede usar la tecla de acceso directo Alt + F11

Paso 2: Ahora, puede crear un módulo en blanco, es decir, hacer clic con el botón derecho en Sheet1 (VBA_SUB), aparecen varias opciones, en esa opción, seleccione Insertar y debajo de la inserción, aparecen tres opciones, donde necesita seleccionar Módulo, se crea el módulo en blanco . Puede cambiarle el nombre a "VBA_SUB" en la ventana de la sección de propiedades

Paso 3: Comience con el subprocedimiento de la siguiente manera y cree el código de VBA_SUB

Código:

 Sub VBA_SUB () End Sub 

Paso 4: Una vez que comience a escribir rango, su argumento aparece entre paréntesis y haga clic en la tecla de tabulación para seleccionarlo. Una vez que deje un espacio e ingrese el corchete abierto “(”, aparecerá el argumento CELLS donde necesita ingresar la sintaxis o argumento para la función de rango, es decir, “E5”

Supongamos que quiero que SUBROUTINE aparezca en la celda "E5". Para que esto suceda, necesito escribir = "SUBROUTINE" después de la función de rango. y luego haga clic en enter.

Ahora, el código está listo

Código:

 Sub VBA_SUB () Range ("E5") = "SUB RUTINA" End Sub 

Paso 5: Ahora, puede ejecutar la macro haciendo clic en el botón Ejecutar Sub (es decir, el botón verde "reproducir") o presionando F5 . Puede observar que "SUBROUTINA" aparece en la celda "B4"

Subfunción VBA - Ejemplo # 2

Paso 1: Comience con Sub y ahora veremos cómo podemos llamar a la función utilizando MsgBox.

Código:

 Private Sub Display_Message () MsgBox "mi primer programa" End Sub 

Paso 2: suponga que cuando ejecuta el código mencionado anteriormente en el módulo VBA_SUB funcionará, pero cuando intenta copiarlo y ejecutarlo en otro módulo, es decir, ejecutar este código en el módulo 1 recién creado de la hoja 2 o 3, un mensaje emergente no aparecerá.

Subfunción VBA - Ejemplo # 3

Paso 1: Se puede acceder a los Subprocedimientos públicos desde un módulo diferente, veamos cómo funciona.

Código:

 Public Sub task_1 () Range ("H7") = "PUBLIC SUBROUTINE" End Sub 

Paso 2: cuando ejecuto el código mencionado anteriormente ( Subtarea pública_1 ) en el módulo VBA_SUB, devuelve el valor o el resultado, es decir, la cadena de texto "SUBROUTINA PÚBLICA" en la celda "H7" de la hoja1

Supongamos que quiero ejecutar este mismo código en el módulo recién creado, es decir, PUBLIC_SUB, entonces no es necesario escribir el código completo en ese módulo, solo mencione el nombre de la macro, es decir, llame a la tarea_1, en lugar de la función de rango en la segunda línea de código, obtendrá la misma salida o resultado, es decir, la cadena de texto "SUBROUTINA PÚBLICA" en la celda "H7" de sheet2.

Código:

 Public Sub task_2 () Llamar task_1 End Sub 

Guarde su libro de trabajo como "libro de Excel habilitado para macros". Cuando abra este archivo de Excel nuevamente, puede usar la tecla de acceso directo que se menciona a continuación, es decir

  • La tecla de acceso directo Function + Alt + F11 le ayuda a acceder a todo el código macro creado del libro de trabajo
  • La tecla de acceso directo Function + Alt + F8 lo ayuda a abrir una ventana de cuadro de diálogo "Macro", que contiene todo el nombre de la macro, donde puede ejecutar un código de macro específico de su elección

Cosas para recordar

  • Si no se menciona o inserta una palabra clave como PUBLIC o PRIVATE al comienzo de una Función VBA, es decir, Sub declaración, entonces, considerará la configuración predeterminada Sub "Público".
  • El menú Intellisense es el menú desplegable que aparece incluso cuando escribe un punto "." En el código VB o en la ventana Editor) contiene una lista de todos los miembros de la referencia activa del MODELO DE OBJETO VB (es decir, incluye objetos, propiedades, variables, métodos y constantes). Esta característica ayuda a ahorrar tiempo y evita errores ortográficos de las palabras o errores tipográficos.
  • Además de End Sub, existe una opción de instrucción Exit Sub entre SUB y END SUB que causa o ayuda en una salida inmediata de un procedimiento Sub.

Artículos recomendados

Esta es una guía de VBA SUB. Aquí discutimos cómo usar Excel VBA SUB junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Trabajando con VBA Active Cell
  2. Eliminar una fila en VBA
  3. ¿Cómo utilizar Excel VBA Transpose?
  4. Cómo reparar el error 1004 usando VBA

Categoría: