¿Cómo usar la declaración If-Else-If en Excel VBA?

En este artículo, vamos a ver cómo usar la  declaración If Else If en Excel VBA usando un ejemplo adecuado.

Implementación:

En las pestañas de Microsoft Excel, seleccione la pestaña Desarrollador . Inicialmente, es posible que la pestaña Desarrollador no esté disponible. 

La pestaña Desarrollador se puede habilitar fácilmente mediante un proceso de dos pasos:

  • Haga clic derecho en cualquiera de las pestañas existentes en la parte superior de la ventana de Excel.
  • Ahora seleccione Personalizar la cinta en el menú desplegable.

  • En el cuadro de opciones de Excel, marque la casilla Desarrollador para habilitarlo y haga clic en Aceptar.

  • Ahora, la pestaña Desarrollador está visible.

Ahora haga clic en la opción Visual Basic en la pestaña Desarrollador y cree un nuevo módulo para escribir el programa usando la instrucción Seleccionar caso.

Developer  -> Visual Basic -> Tools -> Macros
  • Ahora crea una macro y dale un nombre adecuado.

  • Esto abrirá la ventana del Editor donde puede escribir el código.

IF ELSE IF declaración 

La sintaxis es:

If condition1/expression1 Then
Code Block 1
Else If condition2/expression2 Then
   Code Block 2
Else 
    Code Block 3
End If

En esto inicialmente, se ejecuta la condición If y si es VERDADERO entonces el bloque de código 1 se ejecutará y el programa terminará. Ahora, si la condición 1 se vuelve FALSA, entonces la condición 2 dentro de Else IF funcionará, y si es VERDADERO, el bloque de código 2 se ejecutará y el programa terminará. Si las dos condiciones anteriores son falsas, Else funcionará y se ejecutará Code Block 3.

Diagrama de flujo :

Ejemplo:  supongamos que en una empresa necesitamos encontrar el salario máximo de tres departamentos: recursos humanos, finanzas y TI.

Código:

Sub Find_Max()
'Declaring the variables
Dim HR_Sal As Integer
Dim Fin_Sal As Integer
Dim IT_Sal As Integer
'Asking the users to enter the salary
HR_Sal = InputBox("Enter HR department salary:")
Fin_Sal = InputBox("Enter Finance department salary:")
IT_Sal = InputBox("Enter IT department salary:")
'Conditions to find the maximum salary of three departments
If HR_Sal > Fin_Sal And HR_Sal > IT_Sal Then
    MsgBox "HR department has maximum salary"
'The previous condition fails then the below statement executes
ElseIf Fin_Sal > IT_Sal Then
    MsgBox "Finance department has maximum salary"
'The previous two conditions fail then the below statement executes
Else
    MsgBox "IT department has maximum salary"
End If
End Sub

Aquí, primero verificamos si el salario de recursos humanos es mayor que el de los otros dos departamentos. Si es VERDADERO, definitivamente el departamento de recursos humanos tiene el salario máximo y se ejecuta el código dentro de IF. Si esto no es CIERTO, significa que el salario del departamento de recursos humanos no es el máximo y, a continuación, en la condición Else If, ​​debemos comparar entre TI y Finanzas y ver cuál es el máximo. De esta forma se ejecuta If Else If. Si ninguna de las condiciones anteriores es VERDADERA, entonces se ejecutará el código dentro de Else. 

AND es un operador lógico que da el resultado como valor VERDADERO si y solo si ambas expresiones asociadas con este operador son VERDADERAS.

Caso 1 :

Las entradas del usuario son:

La salida es:

Caso 2:

Las entradas del usuario son:

La salida es:

Caso 3:

Las entradas del usuario son:

La salida es:

Publicación traducida automáticamente

Artículo escrito por rishabhchakrabortygfg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *