Como retornar valores en una subrutina a partir de VBA

Escrito por darryl brooks | Traducido por john font
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Como retornar valores en una subrutina a partir de VBA
El lenguaje de programación Visual Basic para aplicaciones, así como otras versiones del mismo, tienen la posibilidad de dividir un programa en diferentes secciones de código independiente. (Digital Vision./Digital Vision/Getty Images)

El lenguaje de programación Visual Basic para Aplicaciones, así como otras de sus versiones, tienen la posibilidad de dividir un programa en diferentes secciones de código independiente. Fraccionar el código en secciones más pequeñas hace que sea menos complicado de leer, escribir y probar debido a la naturaleza independiente de las mismas. Las unidades también son reutilizables, ya que evitan tener que escribir la misma sección de código cada vez que el programa necesita realizar una tarea. Un programador puede llamar una sola función varias veces. Esta es una de las características que hace que VBA, y Visual Basic, sean lenguajes de programación estructurados.

Otras personas están leyendo

Funciones y subrutinas

En la mayoría de los lenguajes, las secciones de código se denominan funciones. En VBA, los fragmentos de código se dividen en dos tipos diferentes: funciones y subrutinas. Ambos tipos de código parecen y actúan de manera similar con dos diferencias notables. En primer lugar, una función lleva este mismo nombre y finaliza con la sentencia "Function End", mientras que una subrutina se define como un "Sub" y termina con "End Sub." En segundo lugar, la función devuelve un valor, mientras que una subrutina no lo hace. Para poder obtener un valor retornado utilizando una aplicación como VBA para Excel, se debe utilizar una función.

¿Cuándo se necesitaría un valor retornado a partir de una subrutina?

Un programa bien escrito utiliza funciones y subrutinas para encapsular datos y para protegerlo de los cambios realizados en otras partes del programa, de esta manera es posible facilitar la comprensión, ya que la principal razón de una función es la de obtener un valor, mientras que al utilizar una subrutina esto no sucede. Las variables dentro de una función o subrutina son invisibles para el resto del código, por lo que utilizan los mismos resultados en otra parte del programa, por lo que la función debe regresar a la parte del programa que la llamó. La única forma de hacer lo mismo con una subrutina sería declarar la variable pública para todo el programa, ignorando así la encapsulación.

Un ejemplo

Un ejemplo típico de una función que devuelve un valor, es el de una rutina básica que permite sumar valores y que además devuelve el resultado. La función es la siguiente: Función MySum (A As Integer, B como entero) MySum = A + B End Function La sentencia MySum = A + B no sólo realiza un simple cálculo matemático sino que además asigna el resultado en la variable que da el nombre a la función, lo que genera el valor retornado. En este ejemplo, la llamada a la función sería tan simple como "resultado = MySum (2,2)", donde la variable resultado contendría el valor de 4. Esta función sencilla puede ser llamada tantas veces como sea necesario.

Valores retornados aplicando VBA para Excel

Aunque Excel tiene varias funciones matemáticas y financieras integradas, es posible que debas escribir una función propia de VBA para Excel con un mayor potencial y además con una mayor flexibilidad. También es posible crear formularios en Excel escribiendo tus propias funciones con el simple hecho de agregar objetos por parte del usuario. Posteriormente, puedes escribir funciones que devuelvan un valor en VBA e insertar el código en macros.

De esta manera, puedes diseñar aplicaciones complejas y de gran alcance sin tener que construir un programa desde el comienzo, utilizando un lenguaje de programación como C #. Esto permite que las funciones integradas de Excel puedan controlar tus propias funciones personalizadas para devolver valores en los formularios.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles