Tomar datos de un combobox e imprimirlo en dos listbox

Buenas Gracias por la colaboración

Tengo una macro con hoja ("BD") con datos en el rango D , Rango E Y Rango F

tengo un frame con un combobox que me carga los datos sin repetir del rango D

y dos listbox

el listbox 1 me carga los datos del rango E cuando se realiza el evento click en el combobox y se selecciona un dato

necesito que el listbox 2 me cargue los del rango F también cuando le de click al dato en el combobox

ANEXO CÓDIGO

Private Sub ComboBox1_Click()
ListBox1.Clear
valor = ComboBox1.Value
Set busca = Sheets("BD").Range("D2:D100").Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
ubica = busca.Address
Do
ListBox1.AddItem busca
i = ListBox1.ListCount - 1
ListBox1.List(i, 1) = busca.Offset(0, 1)
Set busca = Sheets("BD").Range("D2:D100").FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica
End If
End Sub

Agradezco su colaboracion ¡

1 respuesta

Respuesta
1

Solo tienes que agregar la columna al listbox2 de la misma forma que lo haces con el listbox1

Private Sub ComboBox1_Click()
    ListBox1. Clear
    ListBox2. Clear
    valor = ComboBox1.Value
    Set busca = Sheets("BD").Range("D2:D100").Find(valor, LookIn:=xlValues, lookat:=xlWhole)
    If Not busca Is Nothing Then
        ubica = busca.Address
        Do
            ListBox1.AddItem busca
            ListBox2.AddItem busca
            i = ListBox1.ListCount - 1
            j = ListBox2.ListCount - 1
            ListBox1.List(i, 1) = busca.Offset(0, 1)
            ListBox2.List(i, 1) = busca.Offset(0, 2)
            Set busca = Sheets("BD").Range("D2:D100").FindNext(busca)
        Loop While Not busca Is Nothing And busca.Address <> ubica
    End If
End Sub

También debes cambiar la propiedad TextColumn a "22 del ListBox2 para que su valor sea el de la columna F y no el de la columna D.

También debes cambiar la propiedad TextColumn a "2" del ListBox2 para
Que su valor sea el de la columna F y no el de la columna D.

oye no me funciona el código

me carga los datos del combobox y eso que le agregue textcolumn al litsbox2 = 2

código :

Private Sub ComboBox1_Click()
ListBox1.Clear
ListBox2.Clear
valor = ComboBox1.Value
Set busca = Sheets("BD").Range("D2:D100").Find(valor, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
ubica = busca.Address
Do
ListBox1.AddItem busca
ListBox2.AddItem busca
i = ListBox1.ListCount - 1
j = ListBox2.ListCount - 1
ListBox1.List(i, 1) = busca.Offset(0, 1)
ListBox2.List(i, 1) = busca.Offset(0, 2)
Set busca = Sheets("BD").Range("D2:D100").FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica
End If

En la propiedad ColumnCount del Lisbox2 debes poner "2", si no solo te va a tomar el valor del combobox.

pues si me aparece pero la verdad solo necesito que me cargue los datos del RANGO F

me aparecen los del combo y los del rango f

Cambia esta fila del código del ComboBox1

ListBox2. AddItem busca por esta ListBox2. AddItem, es decir sin el "busca"

Y cambia el ColumnCount del Listbox1 a "1", y el ColumnText del Listbox1 a "1"

Y se me olvidaba, también cambia esta linea del código del combobox1

ListBox2.List(i, 1) = busca.Offset(0, 2) por esta ListBox2.List(i, 0) = busca.Offset(0, 2)

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas