Trabajar con 5 combobox a la vez

Tengo 5 combobox a los cuales tengo asignada una columna distinta.

Quisiera poder trabajar con un for para reducir el código y llenar de información los 5 combobox al ejecutarse dependiendo la columna asignada.

Este es el código que tengo para un combobox.

APD=worksheets("Listados"). Cells(rows. Count, 1).end(xlup). Row

For i = 2 to APD

Combobox1. Additem(worksheets("Listados").cells(i, 1))

Como vez ya tengo un for para que recorra de fila en fila, pero hace falta que recorra de combobox en combobox y columna en columna

1 Respuesta

Respuesta
1

Me imagino que te refieres listbox en especifico, bueno te voy a pasar una rutina que a mi me da resultados, espero que te funcione.

private sub lista_existencias_click()

items = me.lista_existencias.listcount

sheets(hoja_actual).select

'range("c19").select

for i = 0 to items - 1

select case hoja_actual

    case "venta"

        if me.lista_existencias.selected(i) then

            cells(activecell.row, 3) = me.lista_existencias.list(i, 0)

            cells(activecell.row, 12) = me.lista_existencias.list(i, 4)

            cells(activecell.row, 13) = me.lista_existencias.list(i, 2)

        end if

    case "compra"

        if me.lista_existencias.selected(i) then

            cells(activecell.row, 3) = me.lista_existencias.list(i, 0)

'            cells(activecell.row, 12) = me.lista_existencias.list(i, 4)

'            cells(activecell.row, 13) = me.lista_existencias.list(i, 2)

        end if

    case "cotiza"

        if me.lista_existencias.selected(i) then

            cells(activecell.row, 3) = me.lista_existencias.list(i, 0)

'            cells(activecell.row, 12) = me.lista_existencias.list(i, 4)

'            cells(activecell.row, 13) = me.lista_existencias.list(i, 2)

        end if

    case "ajustes"

        if me.lista_existencias.selected(i) then

            cells(activecell.row, 3) = me.lista_existencias.list(i, 0)

            cells(activecell.row, 5) = me.lista_existencias.list(i, 1)

            cells(activecell.row, 7) = me.lista_existencias.list(i, 4)

        end if

    case "nota de credito"

        if me.lista_existencias.selected(i) then

            cells(activecell.row, 3) = me.lista_existencias.list(i, 0)

            cells(activecell.row, 6) = me.lista_existencias.list(i, 1)

            cells(activecell.row, 8) = me.lista_existencias.list(i, 4)

        end if

end select

next

end sub

private sub txt_buscador_change()

numerodatos = sheets("existencias").range("a" & rows.count).end(xlup).row

me.lista_existencias = clear

me.lista_existencias.rowsource = clear

y = 0

for fila = 6 to numerodatos

    descrip = sheets("existencias").cells(fila, 2).value

    if ucase(descrip) like "*" & ucase(me.txt_buscador.value) & "*" then

        me.lista_existencias.additem

        me.lista_existencias.list(y, 0) = sheets("existencias").cells(fila, 1).value

        me.lista_existencias.list(y, 1) = sheets("existencias").cells(fila, 2).value

        me.lista_existencias.list(y, 2) = sheets("existencias").cells(fila, 3).value

        me.lista_existencias.list(y, 3) = sheets("existencias").cells(fila, 4).value

        me.lista_existencias.list(y, 4) = sheets("existencias").cells(fila, 5).value

        y = y + 1

    end if

next

end sub

private sub userform_activate()

hoja_actual = activesheet.name

txt_buscador.setfocus

me.lista_existencias.rowsource = "t_existencias"

me.lista_existencias.columncount = 5

me.lista_existencias.columnheads = true

me.lista_existencias.columnwidths = "80 pt;300 pt;100 pt;100 pt"

end sub

Primeramente muchas gracias por la ayuda

Creo que no me supe explicar, el código es para trabajar con 5 combobox, lo que quiero es reducir código, si para un combobox tengo las siguientes lineas;

Variable=worksheets("Listados"). Cells(rows. Count, 1).end(xlup). Row

For i = 2 to APD

Combobox1. Additem(worksheets("Listados").cells(i, 1))

Al tener 5 combobox el código se extiende demasiado, así que mi idea seria más bien tener como un for anidado que me permita pasar del combobox1 al combobox5 y trabajar con los 5 combobox a la vez.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas