2 combobox dependientes

Hola experto. Quisiera que me ayudes con combobox dependientes, quiero relacionar 2 combobox de modo que yo seleccione una opción en el combobox 1 y en el combobox 2 me arrojo datos relacionados con lo seleccionado en el combobox 1, he estado usando esta logoca que encontré en internet:
Private Sub ComboBox1_Change()
ComboBox2.Clear
Hoja1.Select
columna = ComboBox1.ListIndex + 1
Cells(2, columna).Select
Do While ActiveCell <> Empty
ComboBox2.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Esta lógica me funciona siempre y cuando los datos (los de la lista combobox 1 y 2) se enuentran desde A1 y los combobox estén en la misma hoja, y lo que yo quiero es que me funcione cuando los combobox se encuentren en la hoja2 y los datos en la hoja1. Ojala me puedas ayudar modificando esa lógica ya que recién estoy empezando a ver eso de lo del VBA y realmente estoy algo perdido.
Gracias y Saludos

2 respuestas

Respuesta
1
Amigo con este código agregas items de otra hoja sin tener que cambiar la hoja ni la celda activa
Espero que lo puedas personalizar, en este caso agrega 4 elementos de la columna A en la hoja 2
For i = 1 To 4
ComboBox2.AddItem Sheets("hoja2").Cells(i, 1).Value
Next
Respuesta
1
Para referirte a otra hoja hay varias maneras. Una es indicar la celda o el rango de la hoja concreta sería algo como:
Worksheets("hoja2").Range("a1").Value = 1
O bien moverte a la hoja y luego indicar la celda.
Worksheets("hoja2"). Activate
Cells(1, 1).Value = 1
Dependiendo de lo que hagas te puede intersar moverte a la hoja o solo referirte a ella. En este caso creo que la opción 1 es la mejor para evitar dar saltos de hoja. Sin embargo no puedes referirte a Activecell dentro del objeto Worksheets.
Te he puesto además dos formas de referirte a celdas para que uses la que quieras. Ambas son equivalentes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas