Subrutina de Excel VBA: cómo llamar a Sub en VBA con ejemplo

Tabla de contenido:

Anonim

¿Qué es una subrutina en VBA?

Una subrutina en VBA es un fragmento de código que realiza una tarea específica descrita en el código, pero no devuelve un resultado ni un valor. Las subrutinas se utilizan para dividir grandes fragmentos de código en pequeñas partes manejables. Las subrutinas se pueden recuperar varias veces desde cualquier lugar del programa.

Supongamos que ha creado una interfaz de usuario con cuadros de texto para aceptar datos de entrada del usuario. Puede crear una subrutina que borre el contenido de los cuadros de texto. Una subrutina de llamada de VBA es apropiada en tal escenario porque no desea devolver ningún resultado.

En este tutorial de VBA, aprenderá:

  • Por qué utilizar subrutinas
  • Reglas para nombrar subrutinas y funciones
  • Sintaxis de subrutina de VBA
  • Cómo llamar a Sub en VBA

Por qué utilizar subrutinas

  • Divida el código en código pequeño y manejable : un programa de computadora promedio tiene miles y miles de líneas de código fuente. Esto introduce complejidad. Las subrutinas ayudan a resolver este problema al dividir el programa en pequeños fragmentos de código manejables.
  • Reutilización de código . Digamos que tiene un programa que necesita acceder a la base de datos, casi todas las ventanas del programa necesitarán interactuar con la base de datos. En lugar de escribir código separado para estas ventanas, puede crear una función que maneje todas las interacciones de la base de datos. Luego puede llamarlo desde la ventana que desee.
  • Las subrutinas y funciones se autodocumentan . Digamos que tiene una función calculateLoanInterest y otra que dice connectToDatabase. Con solo mirar el nombre de la subrutina / función, el programador podrá saber qué hace el programa.

Reglas para nombrar subrutinas y funciones

Para usar subrutinas y funciones, hay un conjunto de reglas que uno debe seguir.

  • Un nombre de función de llamada de subrutina o VBA no puede contener espacio
  • Un nombre de función o sub de llamada de VBA de Excel debe comenzar con una letra o un guión bajo. No puede comenzar con un número o un carácter especial.
  • Un nombre de función o subrutina no puede ser una palabra clave. Una palabra clave es una palabra que tiene un significado especial en VBA. Palabras como Privado, Sub, Función y Fin, etc. son ejemplos de palabras clave. El compilador los usa para tareas específicas.

Sintaxis de subrutina de VBA

Deberá habilitar la pestaña Desarrollador en Excel para seguir este ejemplo. Si no sabe cómo habilitar la pestaña Desarrollador, lea el tutorial sobre Operadores VBA

AQUÍ en la sintaxis,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)'do somethingEnd Sub

Explicación de la sintaxis

Código

Acción

  • "Private Sub mySubRoutine (…)"
  • Aquí, la palabra clave "Sub" se usa para declarar una subrutina llamada "mySubRoutine" y comenzar el cuerpo de la subrutina.
  • La palabra clave Private se utiliza para especificar el alcance de la subrutina.
  • "ByVal arg1 como cadena, ByVal arg2 como cadena":
  • Declara dos parámetros del tipo de datos de cadena nombre arg1 y arg2
  • "End Sub"
  • "End Sub" se utiliza para finalizar el cuerpo de la subrutina

La siguiente subrutina acepta el nombre y apellido y los muestra en un cuadro de mensaje.

Ahora vamos a programar y ejecutar este Subprocedimiento. Veamos esto.

Cómo llamar a Sub en VBA

A continuación se muestra un proceso paso a paso sobre cómo llamar a Sub en VBA:

  1. Diseñe la interfaz de usuario y establezca las propiedades de los controles de usuario.
  2. Agregar la subrutina
  3. Escriba el código de evento de clic para el botón de comando que llama a la subrutina
  4. Prueba la aplicación

Paso 1) Interfaz de usuario

Diseñe la interfaz de usuario como se muestra en la imagen a continuación

Establezca las siguientes propiedades. Las propiedades que estamos configurando

S / N Control Propiedad Valor
1 CommandButton1 Nombre btnDisplayFullName
2 Subtítulo Subrutina de nombre completo

Su interfaz ahora debería verse de la siguiente manera

Paso 2) Agregar subrutina

  1. Presione Alt + F11 para abrir la ventana de código
  2. Agregue la siguiente subrutina
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)MsgBox firstName & " " & lastNameEnd Sub

AQUÍ en el código,

Código

Comportamiento

  • "Private Sub displayFullName (…)"
  • Declara una subrutina privada displayFullName que acepta dos parámetros de cadena.
  • "ByVal firstName como cadena, ByVal lastName como cadena"
  • Declara dos variables de parámetro firstName y lastName
  • MsgBox firstName & "" & lastName "
  • Llama a la función integrada MsgBox para mostrar un cuadro de mensaje. Luego pasa las variables 'firstName' y 'lastName' como parámetros.
  • El ampersand "&" se usa para concatenar las dos variables y agregar un espacio vacío entre ellas.

Paso 3) Llamar a la subrutina desde el evento de clic del botón de comando.

  • Haga clic derecho en el botón de comando como se muestra en la imagen de abajo. Seleccione Ver código.
  • Se abrirá el editor de código.

Agregue el siguiente código en el editor de código para el evento click del botón de comando btnDisplayFullName.

Private Sub btnDisplayFullName_Click()displayFullName "John", "Doe"End Sub

Su ventana de código ahora debería verse como sigue

Guarde los cambios y cierre la ventana de código.

Paso 4) Probar el código

En la barra de herramientas del desarrollador, desactive el modo de diseño. Como se muestra abajo.

Paso 5) Haga clic en el botón de comando 'Subrutina de nombre completo'.

Obtendrás los siguientes resultados

Descargue el código de Excel anterior

Resumen:

  • Una subrutina es un fragmento de código que realiza una tarea específica. Una subrutina no devuelve un valor después de la ejecución.
  • Las subrutinas ofrecen reutilización de código
  • Las subrutinas ayudan a descomponer grandes fragmentos de código en pequeños códigos manejables.