Guardar en una variable, valores seleccionados de un Cuadro de Lista

Les comento.

Tengo un formulario para la Gestión de inventarios, el detalle esta en que estoy haciendo uno de una Cuadro de Lista con las opciones de ListStyke y MultiSelect activadas.

Y al momento de querer guardar (para este ejemplo) lo seleccionado en Sistema: ("llantas","Hidráulico","Cabina", "Pluma). No he podido guardarlo, me da error.

Comparto con ustedes los códigos que he probado.

dim sistema as string
sistema = frmEntradasSalidas.lbSistema
'Codigos que he probado
sistema = frmEntradasSalidas.lbSistema.text
sistema = frmEntradasSalidas.lbSistema.value

1 respuesta

Respuesta
1

H o l a : Pero no puedes guardar en una variable simple todos los datos seleccionados. Podrías almacenar en un arreglo todos los datos seleccionados; pero no tiene caso pasarlo a un arreglo, el ListBox es como un arreglo de datos y en el ListBox están almacenados los datos seleccionados. Además es mucho más fácil trabajar con el ListBox que con una variable.

Con esto quiero decir, no pases los datos del ListBox a una variable. Mejor dime, después de seleccionar los datos en el ListBox, qué quieres hacer con ellos.

Ah! muy bien.
Mira lo que pasa que este formulario esta destinado para que se capture artículos que requieren ser inventariados, los cuales son refacciones. 

Realmente donde necesito esa lista, es para capturar que una refacción puede servir para diferentes tipos de vehículos.
Por ejemplo una llanta  95/65R15 91H Direction Sport  sirve para los carros: "Tsuru" "Sedan" "Gol"

Y esto es lo que quiero almacenar con el Cuadro de Lista, y por decir necesito almacenar esta información. 

'====================================================

'Yo comparo esto como cuando en una pagina seleccionas los temas en los que estas interesado y 'tienen check box, 

Comentas que quieres almacenar la información.

Cómo vas a almacenar la información.

Siguiendo con tu ejemplo, tendrías que almacenar en una hoja la refacción y los vehículos

Llanta 95/65R15 91H Direction Sport

"Tsuru" "Sedan" "Gol"

Podrías hacerlo así

                 A                                                                                                 B         

1        Refacción                                                                              Vehículos

2       llanta  95/65R15 91H Direction Sport                Tsuru, Sedan, Gol

Es decir, en la celda B2 pondrías todos los vehículos.

Otra opción, es almacenar un vehículo por celda:

                 A                                                                                    B                            C                      D

1        Refacción                                                                  Vehículos              veh2                 ve3

2       llanta  95/65R15 91H Direction Sport              Tsuru                  Sedan                Gol


Te recomiendo la primera opción. Para lograr eso, tienes que poner el siguiente código:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    'Almacenar en una hoja los datos de un listbox
    Set h = Sheets("Hoja1")
    u = h.Range("A" & Rows.Count).End(xlUp).Row + 1
    h.Cells(u, "A") = TextBox1
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            cad = cad & ListBox1.List(i) & ", "
        End If
    Next
    If cad <> "" Then
        h.Cells(u, "B") = Mid(cad, 1, Len(cad) - 2)
    End If
    MsgBox "Registro almacenado"
End Sub

Sal u dos. Si es lo que necesitas, r ecuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas