Combobox

Como hacer para que cuando se cumpla una condición ya no aparezca en el combobox una item asignado a additem, sino que este additem cambie por otro valor o texto

1 Respuesta

Respuesta
1
Podrías utilizar 2 formas una es utilizando el IF y otra el SELECT CASE, pero para usar una de estas dos primero deberías pegar el código que tienes en esta web y segundo especificar que item se debe cargar al combobox y que item no y que dato hay que tener en cuenta para evaluar la condición, es decir amplia más la pregunta siendo más detallado para ayudarlo a crear el código.
Bueno, que pena, la duda que tenía ya la he aclarado, ahora me gustaría que me ayudara con otra duda.
Tengo un formulario con un commandbuton nombrado como Calcular, como hacer para que ese botón haga la operación de la siguiente fórmula si en un combobox eligen determinada opción:
ejm: si en el combobox eligen la opción C entonces que en la celda C25 me asigne el resultado de la siguiente fórmula:
((salario/240)*1.75)*12
Si en el combobox eligen la opción N entonces que en la celda C25 me asigne el resultado de la siguiente fórmula:
(((salario/240)*1,75)*3) + (((salario/240)*2,10)*2) + (((salario/240)*1,35)*6)
Aclaro que salario es un textbox donde el usuario entra el salario para calcular poder calcular las fórmulas anteriores
De ante mano muchas gracias
Aquí le dejo el código que debería agregar al botón:
a = ((nombre del textbox donde esta el salario.Value / 240) * 1.75) * 3
b = ((nombre del textbox donde esta el salario.Value / 240) * 2.1) * 2
c = ((nombre del textbox donde esta el salario.Value / 240) * 1.35) * 6
If (nombre del ComboBox.Value = "C") Then
    sheets("nombre de la hoja").range("C25").Value = ((10000 / 240) * 1.75) * 12
        Else
            If (ComboBox1.Value = "N") Then
                sheets("nombre de la hoja").range("C25").Value = a + b + c
            End If
End If
Debo anotar que este código ya lo probé y funciona perfectamente, solo es que remplace los datos que sean necesarios y lo pruebe, ya que a mi me funciono perfectamente.
Si es así, NO OLVIDAR PUNTUAR Y FINALIZAR LA PREGUNTA, de lo contrario con mucho gusto estoy dispuesto a coloborarle solo es que me envíe un modelo del proyecto al correo [email protected].
Que tengas un feliz día!
Bueno, tardó un poco la respuesta pero bueno
tengo esta otra duda: en textbox ingreso un NOMBRE (ejm: Steven López Giraldo) como hacer para verificar si ese nombre existe en un rango (ejm: Rango ("G7:G35") y si el si existe en ese rango entonces que se me active la celda de la columna anterior pero de la misma fila (ejemplo: el nombre se encontró en la celda G9, entonces que se me active la celda F9)
Espero que me puedan ayudar, de ante mano muchas gracias
Si que pena la tardanza la verdad que había estado un poco enfermo, pero ya me estoy mejorando, bueno con respecto a la solicitud que haces ya lo he solucionado, eso si tiene que tener en cuenta que va a buscar el nombre con exactitud es decir ni una palabra más ni una coma ni un punto y nada demás y de menos, el nombre buscado tiene que ser exacto, aquí le dejo el código (recordar que debe remplazar los nombres que sean necesarios):
Sheets("nombre de la hoja donde buscar el dato"). Select
    Columns("B:B").Select ' -----> OJO ("B:B") AQUI PONER  LA COLUMNA DONDE BUSCAR
    On Error GoTo mensaje
    Selection.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, _ 'OJO AQUI <span style="white-space: pre;"> </span>'REMPLAZAR EL NOMBRE DEL TEXTBOX POR EL SUYO.
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
        ActiveCell.Offset(0, -1).Select
Exit Sub
mensaje:
MsgBox "EL NOMBRE BUSCADO NO SE ENCUENTRA REGISTRADO", vbInformation + vbOKOnly, "SISTEMA"
Debo anotar que ese código debe funcionarle a la perfección ya que yo mismo lo probé, espero que le sea de utilidad, si es así NO OLVIDAR PUNTUAR Y FINALIZAR LA PREGUNTA, de lo contrario no dude en consultarme nuevame.
Hice este código que hace lo que quería, creo que se entiende un poco más y no tiene restricciones, solo faltaría que muestre el mensaje si no encuentra el nombre. De todas manera muchísimas gracias, sus aportes también son constructivos
Public Sub Empleado_Change()
Dim dato
Dim rango
Dim filalibre
Dim midato
dato = Empleado
rango = "G7:G35" & filalibre
Set midato = Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
If Not (midato) Is Nothing Then
midato.Offset(0, -2).Activate
End If
End Sub
Ok, NO puntuar y finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas