Inicio > Microsoft Excel > tavopz > Trabajar en VBA con "Select Case" o "If Then...End if"

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

Experto:
Usuario:
Fecha: 10/05/2008
Valoración: (3,00 sobre 5) Categoría: Microsoft Excel
Trabajar en VBA con "Select Case" o "If Then...End if"
Usuario
06/05/2008
06/05/2008
krz_19, usuario preguntando en Microsoft Excel
Usuario
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 esque no sé lo que hago con  "Select Case" y con "If Then...End if" solo me complico y para en error. Ayuda porfavor
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".
Trabajar en VBA con "Select Case" o "If Then...End if"
Experto
08/05/2008
08/05/2008
krz_19, experto respondiendo en Microsoft Excel
Experto
Hola,
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
 
 
Espero que te funcione.
Saludos, Tavopz
Trabajar en VBA con "Select Case" o "If Then...End if"
Usuario
09/05/2008
09/05/2008
krz_19, usuario preguntando en Microsoft Excel
Usuario
[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]
Trabajar en VBA con "Select Case" o "If Then...End if"
Usuario
09/05/2008
09/05/2008
krz_19, usuario preguntando en Microsoft Excel
Usuario
Sé que esto no tiene nada q 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".
Trabajar en VBA con "Select Case" o "If Then...End if"
Experto
09/05/2008
09/05/2008
krz_19, experto respondiendo en Microsoft Excel
Experto
Hola,
No entendí...
 
Lo que 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.
 
Saludos, Tavopz
Pregunta finalizada. Valoración: 3
Usuario
10/05/2008
10/05/2008
krz_19, usuario preguntando en Microsoft Excel
Usuario
Tavopz,
Pude agregar la cadena de if al inputbox, gracias por la ayuda en VBA.Y cerca del Cells.find lo encontre uso interesante y práctico, me diste un idea general de lo que era.  Saludos
Enlaces patrocinados