Cómo pasó una Lista en hoja de Excel a listbox en un frame?

Quisiera preguntar cómo podría hacer para que una lista de códigos con sus descripciónes que están en una hoja de Excel me aparezcan con encabezados en un listbox dentro de un frame, esa lista siempre estará visible, le agregaré un buscador por código para cuando Mila seleccione me despliegue unas especificaciones de ese código.

1 respuesta

Respuesta
1

Tengo 2 macros la cual una te busca y la otra al seleccionar un items te muestra la descripción en la siguiente fila, pero no se como hacer que funcionen juntas je je

Yo te las paso y tu ves si alguien te puede dar una mano para unirlas

Este hiria en el textbox1 ( el que busca)

Private Sub TextBox1_Change()
    Set H2 = Hoja1
    NumDs = H2.Range("A" & Rows.Count).End(xlUp).Row
    H2.AutoFilterMode = False
    Me.ListBox1 = Clear
    Me.ListBox1.RowSource = Clear
    y = O
    For fila = 4 To NumDs
    Ddatos = H2.Cells(fila, 1).Value
    If UCase(Ddatos) Like "*" & UCase(Me.TextBox1.Value) & "*" Then
    Me.ListBox1.AddItem
    Me.ListBox1.List(y, 0) = H2.Cells(fila, 1).Value
    Me.ListBox1.List(y, 1) = H2.Cells(fila, 2).Value
    y = y + 1
    End If
Next
End Sub

este hiria en el listbox1 para que al hacer click en un items te muestre la descripcion en el textbox2

Private Sub ListBox1_Click()
'Declaramos variables
Dim Cuenta As Integer
Dim Numero As Integer
Dim j As Integer
Dim i As Integer
    Cuenta = Me.ListBox1.ListCount
    'Validamos que haya un elemento seleccionado.
    For j = 0 To Cuenta - 1
        If Me.ListBox1.Selected(j) = True Then
            Numero = Numero + 1
        End If
    Next j
    'La hoja seleccionada se pasará al ListBox de hojas visibles.
    fila = 2
    For i = 1 To Cuenta - 1
            If Me.ListBox1.Selected(i) = True Then
           Me.TextBox2.Value = Cells(fila, 3)
                If TextBox1.Value <> "" Then
                Else
                End If
        End If
        fila = fila + 1
    Next i
End Sub

y este en el userform

Private Sub UserForm_Initialize()
Me.ListBox1.RowSource = "$A$1:$C$12"
Me.ListBox1.ColumnCount = 2
End Sub

cambia el origen de los datos por los tuyos (RowSource)

Por separado funcionan 10 puntos! Pero cuando las juntas se arma relajo ja ja

Osea :

  • Si haces un click en un items te muestra la descripción
  • si buscas en la barra te muestra el dato en el listbox1
  • pero si buscas en la barra y luego haces click en el items en el textbox2 te muestra cualquier cosa xD je je

Quizás alguien te pueda dar una mano para juntarlos, por lo menos tienes algo para arrancar

Disculpa no te pueda dar la solucion completa =/  

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas