Desplegar un texto de excel dependiendo de la selección de una opción en la lista desplegable

Tengo en la columna A, una lista desplegable con diferentes marcas de productos, quisiera saber, como puedo hacer para que al elegir por ejemplo la marca A, salga en un campo de texto todos los productos de la marca A, y así al seleccionar las diferentes marcas (B, C, D..)

2 respuestas

Respuesta
1
Sub Combobox21_change()
    dim i as integer
    dim columna_de_productos as string
    'Supongo que esta en la columna B
    columna_de_productos="B"
    'Si la 1a fila tiene encabezado i=2, si no i=1
    'Supongo que los tiene
     i=2
    While(Range("A"+cstr(i))<>"") 
    'En la columna A va yendo de 1 en 1 hasta que encuentre una celda vacía
        if(Range("A"+cstr(i))=combobox21.text) then 
            combobox22.additem(Range(columna_de_productos+cstr(i)))
        end if    
        i=i+1
    Wend
End Sub
Respuesta
1

Si lo que quieres es que te aparezca una lista de validación con productos según la marca seleccionada puedes utilizar las herramientas: validación de datos por listas, + nombrar rangos + función INDIRECTO.

Te pongo el ejemplo siguiente:

He creado una listas de marcas y una lista de productos para cada marca. A los rangos donde están las listas de productos les doy el nombre de la marca que se ve en la fila 1 (ha de ser el nombre exacto y sin espacios).

En B10 añado una validación por lista con origen en el rango A2:A4 (que puedes llamar MARCAS p.ej.) y en B11 añado una validación con la fórmula que se ve en el ejemplo =INDIRECTO(B10). Usar nombres de rango también te permite guardar las listas en hojas diferentes.

Al seleccionar la marca en A10 se activa una validación específica con los productos sólo de esa marca.

Perdón donde digo sleccionar marca en A10 debe ser B10.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas