Escoger solo un item entre 3 listbox y que el contenido salga en un textbox de mi userform1

Quisiera que alguien me ayudara con un código en visual basic en donde al escoger un ítem entre 3 listbox de mi userform, el ítem escogido aparezca en un textbox.

Como segunda consulta he tenido un problema al cargar los listbox con la propiedad rowsource y es que no me carga el rango de celdas que estoy especificando de la hoja “CONTENIDO” de otro libro de Excel llamado “fuente de materiales”. Aclaro el libro esta abierto. Es por ello que me toco cargar los listbox con el siguiente código:

Private Sub UserForm_Activate()

Listbox1.list = array("aceros de refuerzo y alambres", "adhesivos y morteros", "aditivos para concreto", "agregados pétreos", _

"aire acondicionado-ventilación", "aislamiento acústico", "aislamiento térmico", "aislamiento termico-tuberías", "aislamiento termoacústico", "anclajes y fijaciones", _

"andamios", "apliques eléctricos", "ascens.-escal. Eléc. Y rampas", "automatización y sensores", "baños - accesorios", "baños - aparatos", "baños - grifería", _

"baños - muebles", "baños - plomería y repuestos", "cableado estructurado", "cajas y regletas", "calentadores de agua", _

"canales y bajantes", "cerrajería", "cerramientos", "chimeneas y calefacción", "cielorrasos varios", "cielorrasos yeso", _

"citófonos - teléfonos", "cocinas - aparatos", "cocinas-grifería", "cocinas-muebles", "cocinas-plomería y repuestos", "concertinas y alambres de púas", _

"concretos y cementos", "conductores en cobre y aluminio", "conectores-empalmes-terminales", "construcción liviana en seco", "controles", _

"cortafuegos", "cubiertas aluminio", "cubiertas fibro cemento", "cubiertas impermeabilizantes", "cubiertas metálicas", "cubiertas plásticas", _

"cubiertas termoacústicas", "cubiertas varias", "cubiertas verdes", "distanciadores")

Listbox2.list = array("dotaciones deportivas", "dotaciones exteriores", _

"enchapes para muro", "ensayos de laborarorio", "entrepisos prefabricados", "equipos campamento", "equipos construcción - alquiler", "equipos construcción - compra", _

"equipos medición y alineación", "equipos de presión", "equipos protección de incendios", "equipos de seguridad industrial", "fachadas", _

"ferretería", "formaleta-equipo estát.-alqui.", "formaleta-equipo estát.-compra", "geosintéticos", "herrajes eléctricos", "herrajes para carpintería", _

"herramienta menor", "herramientas eléctricas-compra", "iluminación", "impermeabilizantes", "interruptores automáticos", "ladrillo - bloque cerámico", _

"ladrillo - bloque concreto", "láminas de acero", "láminas de madera", "láminas plásticas", "maderas aserradas", "maderas molduras secas", "maderas rollizas", "maderas rollizas inmunizadas", _

"mallas", "mantos membranas y juntas", "mármol - granito - piedra", "mobiliario urbano", "morteros listos", "pavimentos asfálticos", "perfiles de acero", _

"perfiles de aluminio", "pinturas - esmaltes y vinilos", "pisos adoquines", "pisos canchas", "pisos de cerámica", "pisos de gres (arcilla)", "pisos de porcelanato", "pisos de vinilo", _

"pisos en alfombra")

Listbox3.list = array("pisos grano de mármol", "pisos industriales", "pisos varios", "plantas eléctricas", "postes", "pozos sépticos", "puertas-cortafuego y seguridad", _

"puertas - madera", "puertas - metal", "rejillas y sumideros", "señalización", "siliconas y selladores", "siste. Incendio-agua nebulizada", "sistemas de drenaje", "sistemas modulares", _

"sistemas portacables", "soldaduras y pegantes", "subestaciones y armarios", "tableros eléctricos", "tanques", "tornillos y puntillas", "transformadores", "tratamiento superficies", _

"tubería acero - cerramiento", "tubería acero - conducción agua", "tubería acero-conducción fluido", "tubería acero - estructural", "tubería acero - mueble", "tubería acero-red de incendios", _

"tubería acero - red eléctrica", "tubería aluminio-red eléctrica", "tubería cobre", "tubería concreto", "tubería cpvc - agua caliente", "tubería cpvc-conducción fluidos", _

"tubería polietileno-alcantari.", "tubería polietileno-condu. Gas", "tubería polipropileno", "tubería pvc - acueducto", "tubería pvc - alcantarillado", "tubería pvc - eléctrica", _

"tubería pvc - presión", "tubería pvc - riego agrícola", "tubería pvc-sani. Y ventilación", "válvulas y registros", "ventanería", "vidrios - espejos y películas", "yesos", "todos los materiales")

End Sub

Si alguien sabe hacerlo con la propiedad rowsource le agradecería.

NOTA: El libro donde ejecuto el formulario se llama “APU”; y el rango de celdas para cargar el primer listbox es de A4 a A25, para el segundo es de B4 a B50, para el tercero es de B51 a B60. De la hoja “CONTENIDO” de otro libro de Excel llamado “fuente de materiales”

He intentado cargar con rowsource con el siguiente código pero cuando ejecuto no me aparece nada en el listbox1.

Private Sub UserForm_INITIALIZE()

 ListBox1.RowSource = "[fuente de materiales.xls]CONTENIDO!A4:A" & hoja.Range("A" & Rows.Count).End(xlUp).Row

End Sub

1 respuesta

Respuesta
1

[Hola

Intenta algo así:

Me.ListBox1.RowSource = Workbooks("Fuente de materiales.xls").Worksheets("Contenido").Range("A4:A400").Address(external:=True)

Si bien te lo he colocado con un rango fijo, cuestión de solo adaptarlo a una variable.

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas