Trabajar en VBA con "Select Case" o "If Then... End if"

Tengo la siguiente pregunta que me complica la existencia luego de condicionarme los valores que puede tener la media. Me pregunto si "Select Case" hace un mejor trabajo que "If Then... End if", intente de las dos maneras pero la verdad es que no sé lo que hago con "Select Case" y con "If Then... End if" solo me complico y para en error. Ayuda por favor
Programa que pide tres notas de un alumno mediante la función InputBox. Las notas van a parar respectivamente a las casillas A1, A2 y A3 de la hoja activa. El programa calcula la media y la deja en A4. Si la media está entre 0 y 2 deja en A5 el mensaje "Muy deficiente", si la nota es 3 deja en A5 el mensaje "Deficiente", si la nota es 4 deja "Insuficiente", si es 5 "Suficiente", si es 6 "Bien", si está entre 7 y 8 deja "Notable", si es mayor que 8 deja "Sobresaliente".

1 respuesta

Respuesta
1
El uso de Select Case o If, depende en realidad de la necesidad que tengas, para tu caso ambos podrían usarse pero pienso que con algunos IF enlazados será suficiente. La forma de manejarlo es algo como esto:
x = Range("A4").Value
If x <= 2 Then
        Range("A5").Value = "Muy Deficiente"
Else
        If x <= 3 Then
               Range("A5").Value = "Deficiente"
        Else
                If x <=4 Then
                        Range("A5").Value = "Insuficiente"
                Else
                        If x <= 5 Then
                               Range("A5").Value = "Suficiente"
                        Else
                               If x <=6 Then
                                     Range("A5").Value = "Bien"
                               Else
                                     If x <=8 Then
                                             Range("A5").Value = "Notable"
                                     Else
                                             Range("A5").Value = "Sobresaliente"
                                    End If
                              End If
                        End If
                End If
         End If
End If
[size= small; font-family: Times New Roman; background-color: #f4f4f4]Por lo visto se va que va a funcionar solo que lo necesito que este en un Inputbox para introducir los datos que hagos los "if´s", como hago eso?[/size]
Sé que esto no tiene nada que ver con el titulo pero si con VBA, si me pudiera ayudar en esto también estaría muy agradecido: elaborar un ejemplo de como se usa el comando "Cells.Find".
No entendí...
¿Lo qué me dices primero es que necesitas que esto vaya en un Inputbox? ¿Cómo así?
Con respecto al Cells. Find, el método Find te devuelve un objeto tipo Range, es decir, cuando haces:
Cells. Find("X") Tendrás como resultado la primera celda que corresponda o que contenga la letra X, entonces después de esto, puedes obtener información de esa celda o seleccionarla, por ejemplo:
Cells. Find("X"). Row 'Te devuelve la fila donde se encuentra la letra X
Cells. Find("X"). Interior. ColorIndex 'Te devuelve el cólor de la celda donde está la X
Cells. Find("X").Select       'Seleccionará la primera celda que contiene la letra X
Esos son algunos ejemplos.
Tavopz,
Pude agregar la cadena de if al inputbox, gracias por la ayuda en VBA.Y cerca del Cells.find lo encontré uso interesante y práctico, me diste un idea general de lo que era. Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas