Cómo utilizar la estructura de caso de selección en Excel 2016 VBA

Cómo utilizar la estructura de caso de selección en Excel 2016 VBA

La estructura Seleccionar caso es una estructura VBA útil para decisiones que involucran tres o más opciones en Excel 2016 (aunque también funciona con dos opciones, proporcionando una alternativa a la estructura If-Then-Else).

Un ejemplo de caso selecto

El siguiente ejemplo muestra cómo utilizar la estructura Seleccionar caso:

Sub ShowDiscount3 ()
  Dim Cantidad tan larga
  Descuento tenue como doble
  Cantidad = InputBox ("Ingresar cantidad:")
  Seleccionar cantidad de caja
    Caso 0 a 24
      Descuento = 0.1
    Caso 25 a 49
      Descuento = 0,15
    Caso 50 a 74
      Descuento = 0,2
    El caso es> = 75
      Descuento = 0,25
  Finalizar Seleccionar
  MsgBox "Descuento:" & Descuento
End Sub

En este ejemplo, se está evaluando la variable Cantidad. La rutina verifica cuatro casos diferentes (0-24, 25-49, 50-74 y 75 o más).

Cualquier número de declaraciones puede seguir a cada declaración de caso, y todas se ejecutan si el caso es verdadero. Si usa solo una declaración, como en este ejemplo, puede poner la declaración en la misma línea que la palabra clave Case, precedida por dos puntos: el carácter separador de declaración de VBA. Esto hace que el código sea más compacto y un poco más claro. Así es como se ve la rutina en este formato:

Sub ShowDiscount4 ()
  Dim Cantidad tan larga
  Descuento tenue como doble
  Cantidad = InputBox ("Ingresar cantidad:")
  Seleccionar cantidad de caja
    Caso 0 a 24: Descuento = 0,1
    Caso 25 a 49: Descuento = 0,15
    Caso 50 a 74: Descuento = 0,2
    Caso es> = 75: Descuento = 0,25
  Finalizar Seleccionar
  MsgBox "Descuento:" & Descuento
End Sub

Cuando VBA ejecuta una estructura Select Case, se sale de la estructura tan pronto como VBA encuentra un caso verdadero y ejecuta las declaraciones para ese caso.

Un ejemplo de caso de selección anidado

Como se demuestra en el siguiente ejemplo, puede anidar las estructuras Seleccionar caso. Esta rutina examina la celda activa y muestra un mensaje que describe el contenido de la celda. Observe que el procedimiento tiene tres estructuras Select Case, y cada una tiene su propia instrucción End Select:

Sub CheckCell ()
  Dim Msg como cadena
  Seleccionar caso está vacío (ActiveCell)
    Caso verdadero
     Msg = "está en blanco".
    Caso otro
     Seleccione el caso ActiveCell.HasFormula
       Caso verdadero
        Msg = "tiene una fórmula"
       Caso otro
        Seleccione mayúsculas y minúsculas (ActiveCell)
          Caso verdadero
           Msg = "tiene un número"
          Caso otro
           Msg = "tiene texto"
        Finalizar Seleccionar
    Finalizar Seleccionar
  Finalizar Seleccionar
  MsgBox “Celda“ & ActiveCell.Address & ““ & Msg
End Sub

La lógica es algo como esto:

Descubra si la celda está vacía.

Si no está vacío, vea si contiene una fórmula.

Si no hay una fórmula, averigüe si contiene un valor numérico o texto.

Cuando finaliza la rutina, la variable Msg contiene una cadena que describe el contenido de la celda. La función MsgBox muestra ese mensaje.

Cómo utilizar la estructura de caso de selección en Excel 2016 VBA

Un mensaje mostrado por el procedimiento CheckCell.

Puede anidar estructuras Select Case tan profundamente como lo necesite, pero asegúrese de que cada instrucción Select Case tenga una instrucción End Select correspondiente.

Si aún no está convencido de que valga la pena el esfuerzo de sangrar el código, la lista anterior sirve como un buen ejemplo. Las hendiduras realmente para aclarar los niveles de anidación. Eche un vistazo al mismo procedimiento sin sangría:

Sub CheckCell ()
Dim Msg como cadena
Seleccionar caso está vacío (ActiveCell)
Caso verdadero
Msg = "está en blanco".
Caso otro
Seleccione el caso ActiveCell.HasFormula
Caso verdadero
Msg = "tiene una fórmula"
Caso otro
Seleccione mayúsculas y minúsculas (ActiveCell)
Caso verdadero
Msg = "tiene un número"
Caso otro
Msg = "tiene texto"
Finalizar Seleccionar
Finalizar Seleccionar
Finalizar Seleccionar
MsgBox “Celda“ & ActiveCell.Address & ““ & Msg
End Sub

Bastante incomprensible, ¿eh?


Cómo programar una reunión de Skype

Cómo programar una reunión de Skype

Aprenda a programar reuniones efectivas en Skype Empresarial desde Outlook o la aplicación de Skype. Siga nuestros sencillos pasos para una mejor colaboración.

Cómo usar Pegado especial en Excel 2016

Cómo usar Pegado especial en Excel 2016

Aprende a usar la función de Pegado Especial en Excel 2016 para optimizar la forma en que insertas datos en tus hojas de cálculo. Controla qué información se pega y realiza operaciones matemáticas simples con facilidad.

Funciones de Excel para trabajar con números hexadecimales, octales, decimales y binarios

Funciones de Excel para trabajar con números hexadecimales, octales, decimales y binarios

Descubre las funciones de Excel para convertir entre binario, octal, decimal y hexadecimal con esta tabla informativa y consejos útiles para optimizar tu trabajo.

Instalar y activar un complemento de Power Query de Excel

Instalar y activar un complemento de Power Query de Excel

Completa guía sobre cómo instalar y activar el complemento de Power Query en Excel 2010 y 2013, y su uso en Excel 2016. Aprende a gestionar datos de manera efectiva en Excel.

Access 2019: Cómo editar y modificar una base de datos de Access

Access 2019: Cómo editar y modificar una base de datos de Access

Aprende a modificar y editar bases de datos en Access 2019, incluyendo cómo nombrar campos, agregar y eliminar campos, y definir tipos de datos. ¡Optimiza tu trabajo con Access!

Cómo usar el comando Ir a en Word 2016

Cómo usar el comando Ir a en Word 2016

El comando Ir a en Word 2016 es una herramienta poderosa para navegar rápidamente a una página específica o a elementos dentro del documento. Aprende a optimizar tu flujo de trabajo con este práctico comando.

Cómo resaltar fechas de fin de semana en Excel

Cómo resaltar fechas de fin de semana en Excel

Aprende cómo resaltar fechas de fin de semana en Excel utilizando formato condicional para mejorar la gestión de tus datos de programación.

Cómo insertar un enlace para enviar un correo electrónico en una hoja de cálculo de Excel 2010

Cómo insertar un enlace para enviar un correo electrónico en una hoja de cálculo de Excel 2010

Aprenda a insertar un hipervínculo "mailto" en Excel 2010 para crear correos electrónicos de manera simple y eficiente.

Cómo usar las opciones de pegado y Pegado especial en Word 2007

Cómo usar las opciones de pegado y Pegado especial en Word 2007

Aprenda a utilizar las opciones de pegado y Pegado especial en Word 2007 para manejar eficazmente bloques de texto. Optimizando su formato y presentación.

Cómo modificar un gráfico SmartArt en PowerPoint

Cómo modificar un gráfico SmartArt en PowerPoint

Descubre cómo modificar un gráfico SmartArt en PowerPoint incluyendo cambios de diseño, estructura y texto. Mejora tus presentaciones con estos consejos SEO.