UDF en Excel con VBA utilizando argumento obligatorio y opcional

Con frecuencia muchos usuarios medios o avanzados de Excel en algún punto de su trabajo han tratado con UDF’s o Funciones Definidas por el Usuario como se conocen por su traducción.


Estas funciones que por lo regular suelen escribirlas los programadores de la hoja de cálculo, son en su mayoría configuradas para que acepten obligatoriamente desde la interfaz de usuario todos los argumentos que el programador necesita para resolver un problema.

Sin embargo, muy pocos son los casos en los que estas funciones le permiten al usuario final omitir ciertos argumentos dentro de sus parámetros para que del mismo modo se obtenga un resultado.

En otras palabras, si una función nativa de Excel tiene la capacidad de permitirle al usuario omitir ciertos argumentos para que esta lleve a cabo un proceso, ¿por qué nosotros como programadores de la hoja de cálculo no dotamos a nuestras creaciones de estas características?

Pues bien... Por dos sencillas razones, la primera y la más común, es porque no se necesitan los argumentos opcionales. Y la segunda es definitivamente por desconocimiento del programador.

Para aquellos que hasta ahora comienzan con el desarrollo de aplicaciones en Excel desde el entorno VBA, debo decirles que una buena función (UDF) siempre evalúa muchos aspectos lógicos que el usuario final pueda realizar.

Sin embargo, otro aspecto que usted no debe dejar de lado, es si su función necesita declarar algún argumento opcional que el usuario necesite omitir en cierto escenario de la resolución de un problema.

Si es así, por favor nunca lo obligue a pasar todos los argumentos dentro de la función. Ya que con mucha frecuencia esto suele confundir a los novatos de la hoja de cálculo...

Por ejemplo, suponga que un usuario básico de Excel le pide crear una función que opere desde la interfaz de usuario para que extraiga todos los números de una cadena alfanumérica (ab123cd456ef789gh). Del cual este último le pide tan solo dos condiciones, la primera: que puedan extraerse los números de forma apilada (123456789), y la segunda: que pueda insertar un carácter separador en medio de los números según aparezcan las letras en la cadena alfanumérica inicial (123-456-789).

Pues bien, este es precisamente el ejemplo que tratamos en una serie de 5 capítulos en video para detallar la creación de una UDF con argumentos obligatorios y opcionales. La cual usted podrá utilizar como un referente para crear sus propias funciones que operen desde la interfaz de usuario.

Para acceder a todos los capítulos haga clic aquí.


En su orden podrá utilizar los siguientes archivos de Excel:

Para iniciar debes descargar este archivo.

Al finalizar el capítulo 1, deberá quedarte como este archivo.

Al finalizar el 2, deberá quedarte como este archivo.

Al finalizar el capítulo 3, deberá quedarte como este archivo.

Al finalizar el 4, deberá quedarte como este archivo.

Al finalizar el capítulo 5, deberá quedarte como este archivo.

Para finalizar, usted como programador siempre debe tener en cuenta que antes de comenzar a escribir código en un lenguaje, primero debe realizar una correcta planificación de lo que pretende hacer o resolver. Sin ella, mucho de su esfuerzo estará perdido.

5 comentarios:

  1. Respuestas
    1. Estimado acabo de revisar todos los enlaces y están funcionales y se pueden descargar todos y cada uno de los archivos. Revisa por favor. Saludos.

      Borrar
  2. Hola los archivos no se pueden descargar, me manda un mensaje que no tengo acceso Gracias

    ResponderBorrar