Como cargar dos combobox en un userform con datos de la misma tabla ?

No se como cargarlos desde una sola tabla dos combobox en un mismo userform

1 respuesta

Respuesta
1

Para lograrlo sienes que usar este dodigo:

Lo primero es localizar cual es la ultima fila con datos, es este ejemplo cogemos la columna A y la columna B

 Ultimafila1 = ThisWorkbook.Worksheets("Base de Datos").Cells(Rows.Count, "A").End(xlUp).Row
 Ultimafila2 = ThisWorkbook.Worksheets("Base de Datos").Cells(Rows.Count,"B").End(xlUp).Row

'Cargamos en el combobox los datos desde la fila 2 ya que el cabecero esta en la fila 1 hasta la ultima
    For DATO = 2 To Ultimafila1
        Userform1.ComboBox1.AddItem ThisWorkbook.Worksheets("Base de Datos").Cells(DATO, "A").Value
    Next
        For DATO = 3 To Ultimafila2
            Cotizar_servicios.ComboBoxDIATRANSITOE.AddItem ThisWorkbook.Worksheets("Base de Datos").Cells(DATO, "B").Value
        Next

Con esto llenariamos los comboboxes con los datos que tengamos tanto el en la columna A como en la B independientemente de las filas que tengan y no es necesario que estén en la misma tabla.

Para amoldarlo a tu codigo cambia el nombre de la hoja y letra de columna.

Hola, ¿me podes explicar donde colo ese código?

Donde va ese código en el initialize o donde porque no me pones el código completo y yo lo adapto

yo quiero cargar los dos combo con los mismos datos, pero voy a  elegir dos datos diferentes en cada uno

Lo primero es crear un formulario

Si no tienes la ficha de programador activa presiona Alt +F11 y se abrirá el proyecto de VBA

Crea el formulario con el combobox o comboboxes que quieras y un botón para ejecutar la macro

Das doble click en el botón y pegas el siguiente código

Sub rellenar_comboboxes()

Ultimafila1 = ThisWorkbook.Worksheets("Base de Datos").Cells(Rows.Count, "A").End(xlUp).Row
 Ultimafila2 = ThisWorkbook.Worksheets("Base de Datos").Cells(Rows.Count,"B").End(xlUp).Row

'Cargamos en el combobox los datos desde la fila 2 ya que el cabecero esta en la fila 1 hasta la ultima
    For DATO = 2 To Ultimafila1
        Userform1.ComboBox1.AddItem ThisWorkbook.Worksheets("Base de Datos").Cells(DATO, "A").Value
    Next
        For DATO = 3 To Ultimafila2
            Userform1.ComboBox2.AddItem ThisWorkbook.Worksheets("Base de Datos").Cells(DATO, "B").Value
        Next

End sub

Cambia el nombre de la hoja y letra de la columna por los tuyos y ya estaría todo

Si lo prefieres puedes ponerlo dentro y cuando hagas click en el se rellenará automáticamente

Private Sub ComboBox1_Click()
pon aqui el codigo
End Sub

Me pasas el correo por enviarte el form y que lo veas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas