¿se puede hacer que en un combo se pueda seleccionar items pero no editar?
hola a todos-as,
la duda que tengo es la que pongo en el titulo necesito saber si se puede hacer que un combo permita seleccionar items pero no escribir .
muchas gracias por su atencion
la duda que tengo es la que pongo en el titulo necesito saber si se puede hacer que un combo permita seleccionar items pero no escribir .
muchas gracias por su atencion
Tienes que darle a su propiedad Style el valor 2.
Lo puedes hacer en tiempo de diseño
Style: 2 - Dropdown List
Un saludo
sdemingo
Lo puedes hacer en tiempo de diseño
Style: 2 - Dropdown List
Un saludo
sdemingo
muchas gracias sdemingo era esactemente lo que necesitaba ahora solo me queda otra cuestion y es saber la forma mas rapida y facil de hacer que me seleccione automaticamente un item a partir de una cedena de texto ,solo que tengo una circunstancia que me dara mas currel y es que por ejemplo la cadena a buscar sera "11" y en item aparecera "11 texto"
muchas gracias de antemano
muchas gracias de antemano
Bueno Juanolas, espero que te sirva esto para tu problema....
En el combo cargo items tal que así --> "6 texto"
y en la caja de texto, cadena a buscar, solo pongo 6.
Pruébalo.
Para probar el codigo, necesitas un formulario que tenga una caja de texto llamada Text1, un combo llamado Combo1 y un botón llamado Command1.
Private Sub Command1_Click()
Dim encontrado As Boolean
Dim elemento() As String
Dim i As Integer
If Me.Text1.Text <> "" Then
For i = 0 To Me.Combo1.ListCount
elemento = Split(Me.Combo1.List(i), " ", , vbBinaryCompare)
If UBound(elemento) <> -1 Then
If Me.Text1.Text = elemento(0) Then
Me.Combo1.Text = Me.Combo1.List(i)
encontrado = True
Exit For
End If
End If
Next i
If Not encontrado Then
MsgBox "No se ha encontrado el elemento que busca"
End If
Else
MsgBox "Escriba un criterio de busqueda"
End If
End Sub
Private Sub Form_Load()
Me.Combo1.AddItem "1 Elemento"
Me.Combo1.AddItem "2 Elemento"
Me.Combo1.AddItem "3 Elemento"
Me.Combo1.AddItem "4 Elemento"
Me.Combo1.AddItem "5 Elemento"
Me.Combo1.Text = Me.Combo1.List(0)
End Sub
Un saludo
sdemingo
En el combo cargo items tal que así --> "6 texto"
y en la caja de texto, cadena a buscar, solo pongo 6.
Pruébalo.
Para probar el codigo, necesitas un formulario que tenga una caja de texto llamada Text1, un combo llamado Combo1 y un botón llamado Command1.
Private Sub Command1_Click()
Dim encontrado As Boolean
Dim elemento() As String
Dim i As Integer
If Me.Text1.Text <> "" Then
For i = 0 To Me.Combo1.ListCount
elemento = Split(Me.Combo1.List(i), " ", , vbBinaryCompare)
If UBound(elemento) <> -1 Then
If Me.Text1.Text = elemento(0) Then
Me.Combo1.Text = Me.Combo1.List(i)
encontrado = True
Exit For
End If
End If
Next i
If Not encontrado Then
MsgBox "No se ha encontrado el elemento que busca"
End If
Else
MsgBox "Escriba un criterio de busqueda"
End If
End Sub
Private Sub Form_Load()
Me.Combo1.AddItem "1 Elemento"
Me.Combo1.AddItem "2 Elemento"
Me.Combo1.AddItem "3 Elemento"
Me.Combo1.AddItem "4 Elemento"
Me.Combo1.AddItem "5 Elemento"
Me.Combo1.Text = Me.Combo1.List(0)
End Sub
Un saludo
sdemingo
Un poco más simple.....
Private Sub Command1_Click()
Dim encontrado As Boolean
Dim elemento() As String
Dim i As Integer
If Me.Text1.Text <> "" Then
For i = 0 To Me.Combo1.ListCount - 1
elemento = Split(Me.Combo1.List(i), " ", , vbBinaryCompare)
If Me.Text1.Text = elemento(0) Then
Me.Combo1.Text = Me.Combo1.List(i)
encontrado = True
Exit For
End If
Next i
If Not encontrado Then
MsgBox "No se ha encontrado el elemento que busca"
End If
Else
MsgBox "Escriba un criterio de busqueda"
End If
End Sub
Private Sub Form_Load()
Me.Combo1.AddItem "1 Elemento"
Me.Combo1.AddItem "2 Elemento"
Me.Combo1.AddItem "3 Elemento"
Me.Combo1.AddItem "4 Elemento"
Me.Combo1.AddItem "5 Elemento"
Me.Combo1.Text = Me.Combo1.List(0)
End Sub
Un saludo
sdemingo
Private Sub Command1_Click()
Dim encontrado As Boolean
Dim elemento() As String
Dim i As Integer
If Me.Text1.Text <> "" Then
For i = 0 To Me.Combo1.ListCount - 1
elemento = Split(Me.Combo1.List(i), " ", , vbBinaryCompare)
If Me.Text1.Text = elemento(0) Then
Me.Combo1.Text = Me.Combo1.List(i)
encontrado = True
Exit For
End If
Next i
If Not encontrado Then
MsgBox "No se ha encontrado el elemento que busca"
End If
Else
MsgBox "Escriba un criterio de busqueda"
End If
End Sub
Private Sub Form_Load()
Me.Combo1.AddItem "1 Elemento"
Me.Combo1.AddItem "2 Elemento"
Me.Combo1.AddItem "3 Elemento"
Me.Combo1.AddItem "4 Elemento"
Me.Combo1.AddItem "5 Elemento"
Me.Combo1.Text = Me.Combo1.List(0)
End Sub
Un saludo
sdemingo
