Selección multiple con ComboBox

21/02/2007 - 16:40 por Bart | Informe spam
Hola Grupo:

En un userform tengo varios ComboBox pero uno de esos debe ser de selección
multiple, es decir, tomar varios valores del listado, puede ser 1 o varios.

Cómo hago para hacer esto y que debo hacer para poder determinar que items
fueron seleccionados. Adicionalmente, en este ComboBox debe aparecer por
'Default' todos los items seleccionados al desplegar inicialmente la grilla,
cómo lo puedo hacer?.

Gracias por sus comentarios,

Bart

Preguntas similare

Leer las respuestas

#1 Ivan
21/02/2007 - 17:44 | Informe spam
hola Bart,

En un userform tengo varios ComboBox pero uno de esos debe ser de
selección
multiple,



no estoy seguro del todo, pero si no me equivoco un ComboBox no admite la
seleccion multiple. Para ello deberias usar un ListBox, que podrias
configurar con la apariencia de un combo (aunque sin poder editar las
entradas), y establecer su propiedad 'Multiselect' en true, y si quieres que
aparezcan casillas de verificacion, su propiedad 'ListStyle' en '
fmListStyleOption'

Cómo hago para hacer esto y que debo hacer para poder determinar que items
fueron seleccionados. Adicionalmente, en este ComboBox debe aparecer por
'Default' todos los items seleccionados al desplegar inicialmente la
grilla,




usando la propiedad 'Selected' del ListBox. Podrias hacer algo parecido a
esto ->

a) para el ejemplo inserta un nuevo Userform con un listbox y dos
commandbutton, y en una hoja selecciona algunos datos

b) en el modulo del formulario copias/pegas este codigo, que aunque no va
comentado es bastante sencillo de entender si recurres a la ayuda (F1). De
todas formas si tienes dudas comentas.

'********************************
Private Sub CommandButton1_Click()
NombrarElegidos
End Sub
'**********************************
Private Sub CommandButton2_Click()
With CommandButton2
Select Case .Caption
Case "Cargar": CargarListBox: .Caption = "Descargar"
Case "Descargar": ListBox1.Clear: .Caption = "Cargar"
End Select
End With
End Sub
'******************************************************
Private Sub CargarListBox() ' es igualmente valido para un ComboBox
Dim celda As Range
With ListBox1
.Clear
For Each celda In Selection
.AddItem celda.Value
Next
End With
End Sub
'*****************************************************
Private Sub NombrarElegidos()
Dim sel As Integer, msj As String
With ListBox1
If .ListCount = 0 Then
msj = "La lista esta vacia"
Else
For sel = 0 To .ListCount - 1
If .Selected(sel) Then msj = msj & .List(sel) & vbCr
Next
If msj = "" Then msj = "No hay ninguna entrada seleccionada" Else _
msj = "Las entradas seleccionadas son:" & vbCr & vbCr & msj
End If
End With
MsgBox msj
End Sub
'******************************************************
Private Sub UserForm_Initialize()
CommandButton1.Caption = "Ver seleccionados"
CommandButton2.Caption = "Descargar"
With ListBox1
.MultiSelect = fmMultiSelectMulti
.ListStyle = fmListStyleOption
.Height = 18
End With
CargarListBox
End Sub
'****************************************************

espero te ayude en algo, y si quieres/tienes comentas las dudas

un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#2 daniel
21/02/2007 - 18:33 | Informe spam
hola bart
prueba esto en el evento activate del userform
para que te aparezcan nada mas abrir el userform en el combobox
combobox1.AddItem "Prepaid"
combobox1.AddItem "Collect"
combobox1.AddItem "Other"

cual quier cosa comentas

un saludo daniel
"Bart" escribió en el mensaje
news:
Hola Grupo:

En un userform tengo varios ComboBox pero uno de esos debe ser de
selección
multiple, es decir, tomar varios valores del listado, puede ser 1 o
varios.

Cómo hago para hacer esto y que debo hacer para poder determinar que items
fueron seleccionados. Adicionalmente, en este ComboBox debe aparecer por
'Default' todos los items seleccionados al desplegar inicialmente la
grilla,
cómo lo puedo hacer?.

Gracias por sus comentarios,

Bart
Respuesta Responder a este mensaje
#3 Bart
21/02/2007 - 20:02 | Informe spam
Señores:

Muchas gracias, duda resuelta.

Saludos,

Bart
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida