Otra estructura de comparación que presenta ventajas frente al if, cuando se han de realizar comparaciones múltiples con una única variable es la sentencia select case. La forma de trabajar con ella, es la siguiente:
Select Case <expresion>
Case <Test1>
hacer lo que sea si expresion1=test1
Case <Test2>
hacer lo que sea si expresion1=test2
Case Else
hacer lo que sea, si no se ha cumplido nada de lo anterior
End Select
Si vemos el ejercicio anterior de los continentes presentado con esta nueva herramienta, quedaria así:
nombre = "???"
valor = Range("A1").Value
valor = UCase(valor)
Select Case valor
Case "EU"
nombre = "Europa"
Case "AS"
nombre = "Asia"
Case "AF"
nombre = "Africa"
Case "AM"
nombre = "America"
Case "O"
nombre = "Oceania"
Case Else
MsgBox "El codigo de continente es desconocido"
End Select
Range("B1") = nombre
Como veis, no es que haya mucha diferencia con la solución planteada con ElseIf, sin embargo, el código queda mucho más claro, la estructura del programa aparece mas limpia, nos ahorramos el tener que ir repitiendo la comparación en cada if,…
Pero todavia hay otra forma de utilizar el Selec Case, que es analizando intervalos; observar el siguiente codigo:
solucion = ""
valor = Range("A2").Value
Select Case valor
Case 100, 200, 300 'solucion 1
solucion = "100,200,300"
Case 400 To 600 'solucion 2
solucion = "400 To 600"
Case 700 To 900, 1300 To 2000 'solucion 3
solucion = "700 To 900, 1300 To 2000"
Case Else
MsgBox "No he encontrado valor valido"
End Select
Range("B2") = solucion
En este caso, tomamos la solución 1 si A2 vale 100, 200 o 300 exactamente, la 2 la tomaremos si el valor de A2 esta entre 400 y 600, y la 3, será cuando A2 este entre 700 y 900 o 1300 y 200; si ninguno cumple, se saldra por Case Else y se dará un mensaje
Comparte esto:
- Comparte en Facebook (Se abre en una ventana nueva) Facebook
- Compartir en Telegram (Se abre en una ventana nueva) Telegram
- Compartir en WhatsApp (Se abre en una ventana nueva) WhatsApp
- Compartir en LinkedIn (Se abre en una ventana nueva) LinkedIn
- Compartir en X (Se abre en una ventana nueva) X
- Enviar un enlace a un amigo por correo electrónico (Se abre en una ventana nueva) Correo electrónico
- Más
- Haz clic en Pinterest (Se abre en una ventana nueva) Pinterest
- Imprimir (Se abre en una ventana nueva) Imprimir
- Compartir en Pocket (Se abre en una ventana nueva) Pocket
- Compartir en Reddit (Se abre en una ventana nueva) Reddit
- Compartir en Tumblr (Se abre en una ventana nueva) Tumblr
- Compartir en Mastodon (Se abre en una ventana nueva) Mastodon
Relacionado
Descubre más desde Recursos para formacion
Suscríbete y recibe las últimas entradas en tu correo electrónico.