Crear hoja con botones filtro

Tengo una base de datos pequeñita que quiero manejar con excel, de manera que pueda ir agrandando la base de datos añadiendo filas con la información por categorías, y me gustaría crear una primera hoja con botones o desplegables (estoy abierto a sugerencias) en la que seleccione primero el tipo de componente, aparezcan nuevos botones o desplegables con las características específicas de ese componente etc.

Me apaño con el trabajo de macros básica pero el tema de desplegables etc, es nuevo para mi.

1 Respuesta

Respuesta
1

Entiendo que necesitas trabajar con listas relacionadas.

Tengo un ejemplo desarrollado que podés descargarlo desde la sección Guias de mi sitio.

La Guía es la N° 2: Listas desplegables.

Luego me comentas.

Sdos.

Elsa

Gracias por tu respuesta, Elsa pero no se si lo que me describes me vale.

Lo que necesito es una hoja de inicio con varios botones que hagan:

Pulso un botón y primero limpia la hoja de menús y texto.

Crea un desplegable con los valores de un rango que debe calcularse cada vez porque ira creciendo con el tiempo.

Con la selección que se realice se mostraran las líneas que incluyan ese valor seleccionado que se copiaran de la hoja de cada botón.

Hasta el momento tengo esto:

Sub COMPRESORES()
Sheets("HOJA1").Select
'BORRAR MENUS EXISTENTES
If Range("D6").Select <> "" Then
 ActiveSheet.Shapes("Lista desplegable 1").Select
    Selection.Cut
    Range("B6:D6").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Selection.Delete Shift:=xlUp
End If
If Range("G6").Select <> "" Then
 ActiveSheet.Shapes("Lista desplegable 2").Select
    Selection.Cut
 Range("E6:G6").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
End If
    If Range("J6").Select <> "" Then
 ActiveSheet.Shapes("Lista desplegable 3").Select
    Selection.Cut
 Range("H6:J6").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
End If
'CREAR RANGO PARA DESPLEGABLE
Sheets("COMPRESORES").Select
    Range("C2").Select
    Range(Selection, Selection.End(xlDown)).Select
            SRANGO = Selection.Address
Sheets("HOJA1").Select
'CREAR DESPLEGABLE
    ActiveSheet.DropDowns.Add(108, 72, 125.4, 15.6).Select
    'NOMBRAR COMO LISTA 1 SIEMPRE PARA LUEGO PORDER BORRARLO
    Selection.Name = "Lista desplegable 1"
    With Selection
    'RANGO DE BUSQUEDA

'ESTO NO ME FUNCIONA NO DA ERROR PERO EL DESPLEGABLE ESTA EN BLANCO
        .ListFillRange = "COMPRESORES!&SRANGO"
        'CASILLA DONDE SE MUESTRA LA OPCION
        .LinkedCell = "Hoja1!$E$6"
        .DropDownLines = 8
        .Display3DShading = False
    End With
    'AHORA TENGO QUE ORDENAR A LA MACRO QUE ME MUESTRE LAS LÍNEAS DEL PRODUCTO QUE ENCAJEN CON EL VALOR SELECCIONADO
End Sub

La línea que te marca error la debes escribir del siguiente modo, donde las variables siempre van fuera de las comillas:

.ListFillRange = "COMPRESORES!" & SRANGO

Y a continuación le haría seleccionar alguna celda para quitarle la selección a la lista, algo como:

[A1].Select

Me parece que irás necesitando ayuda en otros temas más. Lo ideal es que vayas dejando alguna imagen para que se pueda observar lo que vas armando.

Por ejemplo, si necesitas ayuda para resolver el texto que dejaste antes del End Sub, debes aclarar (en nueva consulta) dónde deben ser mostrados, cuántas col tienen las filas de producto, etc.

PD) No es necesario que valores si aún necesitas enviar o solicitar aclaraciones. Quizás luego merezca una valoración mejor.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas