Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

¿Cómo crear argumentos opcionales en VBA?

| 2 comentarios

¿Cómo crear argumentos opcionales en VBA?

Desarrollado por: Víctor Espichán Avila

proyecto_003_ArgumentosOpcionalesEnVBA_vcea

El presente proyecto tiene por finalidad demostrar que se pueden utilizar argumentos opcionales en la creación de funciones en VBA, en ese sentido se ha implementado una función con nombre AreaTrapecio, la cual requiere 3 argumentos obligatorios y 1 opcional, los cuales son los siguientes:

  • Base mayor, corresponde a la mayor base de la figura geométrica denominada trapecio.
  • Base menor, corresponde a la menor base de la figura geométrica denominada trapecio.
  • Altura, corresponde a la distancia perpendicular en ángulo de 90° que separa a la base mayor de la base menor.
  • Tipo, corresponde a un argumento boolean, el cual puede tomar valor 0 o 1 y se le ha asignado como opcional, es decir que puede o no estar al momento de ejecutar la función.

proyecto_003_ArgumentosOpcionalesEnVBA_vcea_imagen_001

(Para mayor visualización de la imagen, hacer click en la misma)

Si se digita la función en la celda Excel sin el último argumento “tipo”, se mostrará por defecto el área del trapecio en la celda con dos decimales por defecto, pero si se digita el cuarto argumento de la referencia con valor 0 mostrará el área del trapecio con dos decimales, mientras si el cuarto argumento se le asigna valor 1, mostrará el área del trapecio con cifras enteras sin decimales.

Cabe precisar, que el argumento opcional se ha definido en la función con la palabra reservada Optional y se ha asignado el tipo de variable Boolean. Así mismo, se está haciendo uso de la estructura select case, para organizar adecuadamente el algoritmo. Además, se debe tener en cuenta que se visualizará un mensaje al momento de consignar cualquier de las dos opciones en el último argumento.

Por lo tanto, se está demostrando que el último argumento es opcional para que la función pueda procesar los datos y emitir el resultado final.

Function AreaTrapecio(BaseMayor As Double, BaseMenor As Double, Altura As Double, Optional Tipo As Boolean = 0)

Código VBA:

Function AreaTrapecio(BaseMayor As Double, BaseMenor As Double, Altura As Double, Optional Tipo As Boolean = 0)

'Desarrollado por Víctor Espichán Avila

Select Case Tipo

Case 0

'Permite encontrar el area del trapecio con cifras decimales

Trapecio = (Altura / 2) * (BaseMayor + BaseMenor)

AreaTrapecio = Format(Trapecio, "00.00") & " " & "unidades cuadradas"

MsgBox ("Usted está calculando el área del trapecio con dos decimales de aproximación")

Case 1

'Permite encontrar el area del trapecio con cifras exactas

Trapecio = (Altura / 2) * (BaseMayor + BaseMenor)

AreaTrapecio = Format(Trapecio, "00") & " " & "unidades cuadradas"

MsgBox ("Usted está calculando el área del trapecio con una aproximación a cifras enteras")

End Select

End Function

proyecto_003_ArgumentosOpcionalesEnVBA_vcea_imagen_003

proyecto_003_ArgumentosOpcionalesEnVBA_vcea_imagen_004

proyecto_003_ArgumentosOpcionalesEnVBA_vcea_imagen_005

proyecto_003_ArgumentosOpcionalesEnVBA_vcea_imagen_002

(Para mayor visualización de la imagen, hacer click en la misma)

2 comentarios

  1. Muy interesante. La utilización de argumentos opcionales lleva a otro nivel a las funciones definidas por el usuario. Estos argumentos opcionales pueden hacer que la función se vuelva mas especifica y eficiente.

  2. Muy Buena Explicación. Saludos

Deja una respuesta

Los campos requeridos estan marcados con *.