Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Trabajar en VBA con "Select Case" o "If Then...End if"
Experto: tavopz
Valoración: 3
Fecha: 06/05/2008


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 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"
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: [b]x = Range("A4").Value[/b] [b]If x <= 2 Then[/b] [b]        Range("A5").Value = "Muy Deficiente"[/b] [b]Else[/b] [b]        If x <= 3 Then[/b] [b]               Range("A5").Value = "Deficiente"[/b] [b]        Else[/b] [b]                If x <=4 Then[/b] [b]                        Range("A5").Value = "Insuficiente"[/b] [b]                Else[/b] [b]                        If x <= 5 Then[/b] [b]                               Range("A5").Value = "Suficiente"[/b] [b]                        Else[/b] [b]                               If x <=6 Then[/b] [b]                                     Range("A5").Value = "Bien"[/b] [b]                               Else[/b] [b]                                     If x <=8 Then[/b] [b]                                             Range("A5").Value = "Notable"[/b] [b]                                     Else[/b] [b]                                             Range("A5").Value = "Sobresaliente"[/b] [b]                                    End If[/b] [b]                              End If[/b] [b]                        End If[/b] [b]                End If[/b] [b]         End If[/b] [b]End If[/b]     Espero que te funcione. Saludos, Tavopz

Trabajar en VBA con "Select Case" o "If Then...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]

Trabajar en VBA con "Select Case" o "If Then...End if"
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"
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
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


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/1838039/trabajar-en-vba-con-select-case-o-if-then-end-if