Duda con las selecciones en ListBox

Vuelvo otra vez a solicitar tu ayuda sobre los listBox:
El caso es que tengo un ListBox con ocho valores, por ejemplo:
Uno
Dos
Tres
Cuatro
Cinco
Seis
Siete
Ocho
Lo que necesito es que cuando seleccione cualquiera de los datos desde "uno" a "cuatro" me ponga la letra "a" en un textbox1, cuando seleccione el dato "cinco", me ponga la letra "b", en el mismo texbox, pero cuando seleccione los datos "seis", "siete" y "ocho" me ponga la letra "c", en el mismo textbox1.
Gracias a la sentencia condicional If consigo hacer que me funcione con las letras a y b pero NO lo consigo cuando se trata de varios valores, no se como hacerlo, lo he intentado hasta con Select Case pero no me funciona. ¿Me podrías ayudar a solucionar mi duda?
Gracias de antemano.

1 Respuesta

Respuesta
1
Te falta conocer a fondo el "IF"
Se puede utilizar "Else If" para ir añadiendo condiciones. Por ejemplo:
If a = 1 Then
'caso que a=1
ElseIf a = 2 Then
'caso que a=2
ElseIf a = 3 Or a = 4 Or a = 5 Then
'caso que a sea 3, 4 o 5
Else
'cualquier otro caso que no sea haya contemplado anteriormente
End If
Supongo que con este ejemplo ya te saldrá. Ten en cuenta que lo único que es obligatorio, es poner la primera y la ultima linea, luego, por medio puedes poner tantos "Else If" como quieras y al final se puede poner el "Else" o no.
Si no te sale (que lo dudo) me lo dices y si tienes más dudas... igual.
Hasta pronto.
Con el siguiente código que a excepción del contenido del texto que hay entre comillas, lo demás es tal y como lo tengo que realizar...
Private Sub ListBox8_Click()
For i = 0 To ListBox1.ListCount - 1
ListBox1.Selected(i) = False
Next
TextBox16.Value = 2
If ListBox8.Value = "UNO" Then
TextBox16.Value = 4
ElseIf ListBox8.Value = "DOS" Or "TRES" Or "CUATRO" Then
TextBox16.Value = 3
Else
TextBox16.Value = 2
End If
End Sub
- Las tres primeras líneas son para alternar la selección de los listbox1 y listbox8, a continuación del Next le digo que en el textbox16 me ponga el valor de 2 por defecto y seguidamente viene el problema, quiero que me haga lo que le pongo con código pero me da un error en la línea del ElseIf, no se porque, solo me funciona con una condición If, he probado de muchas maneras y tal y como me pones en el ejemplo pero nada de nada.
El texto que tiene que salir en el textbox lo pongo entre comillas pero he probado también sin las comillas.
A ver si me puedes hacer el favor de revisármelo.
Gracias...
Lo haces todo bien excepto la linea del ElseIf que tiene que ser así:
ElseIf ListBox8.Value = "DOS" Or ListBox8.Value = "TRES" Or ListBox8.Value = "CUATRO" Then
Creo que con esto ya esta.
Sino, ya sabes...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas