En este ejercicio te enseñare a programar una función que podrá ejecutar una instrucción según valor en excel, esto tiene muchas aplicaciones en formatos contables, así que seguramente te sera de mucha ayuda.
Objetivo principal
Aunque programare una función muy especifica, el objetivo principal no es la funcionalidad como tal, lo mas importante es que comprendan los conceptos que se describirán.
Función para validar sexo
Tenemos una tabla de datos donde se ingreso informacion de personas, sin embargo el sexo se ha indicado de diferentes maneras, así que la función tendrá que validar si es hombre o mujer, devolverá M para mujeres, H para hombres.
tabla de datos base
La siguiente tabla contiene algunos registros de prueba.
Función para validar sexo
La siguiente función recibirá como parámetro el dato que identifica el sexo o genero de la persona, son los datos de la tabla anterior, tendrá que analizar cada posible caso donde la persona se identifique como hombre o mujer.
Option Explicit
Public Function ValidaSexo(strSexo As String) As String
Dim str As String
str = UCase(strSexo)
Select Case str
Case "F"
ValidaSexo = "M"
Case "FEMENINO"
ValidaSexo = "M"
Case "MUJER"
ValidaSexo = "M"
Case "M"
ValidaSexo = "H"
Case "MASCULINO"
ValidaSexo = "H"
Case "HOMBRE"
ValidaSexo = "H"
End Select
End Function
Sentencia Select
En este caso la estrella es la sentencia Select, es una estructura de control muy parecida a IF, pero esta tiene sus peculiaridades propias, básicamente toma una variable y analiza posibles casos según su valor y ejecuta las instrucciones que indiquemos.
Casos según sexo de la persona
En este ejemplo particular, se tienen varios casos para validar el sexo de la persona, sobre todo considerando que los datos registrados no siguieron un estándar para indicar el sexo o genero.
Case "F"
ValidaSexo = "M"
Case "FEMENINO"
ValidaSexo = "M"
Case "MUJER"
ValidaSexo = "M"
Case "M"
ValidaSexo = "H"
Case "MASCULINO"
ValidaSexo = "H"
Case "HOMBRE"
ValidaSexo = "H"
Consideración de mayúsculas
Si tuviéramos que indicar explicitamente cada caso, la función seria muy grande, esto porque hay que registrar las combinaciones donde hay mayúsculas y minúsculas.
Para evitar esto, convertimos a mayúsculas el datos que se pasa por parámetro a la función ValidaSexo; así no es necesario indicar de manera explicita todos los casos.
str = UCase(strSexo)
Demostración en vídeo para uso de Select Case
Formula usada en la tabla de datos
Esa misma función se puede usar directo en las celdas como las otras funciones predeterminadas de excel.
=ValidaSexo(A2)
Resultados de la formula
En la siguiente imagen puedes ver el resultado de esa formula, como puedes ver, es muy sencilla y conveniente.
Posibles aplicaciones de Select
En conclusión, has podido notar en este ejemplo de como Ejecutar instrucción según valor en excel, que la instrucción Select tiene muchas aplicaciones.
Ademas, el hecho de poder ejecutar una función personalizada directo en las celdas es algo muy útil al generar nuestras propias aplicaciones.
Afy dice
Gracias, de mucha utilidad. Saludos.