Búsqueda en una matriz y entrega de valores en distintas celdas

Junto con saludar, les solicito su ayuda debido a que tengo un archivo el cual guarda distintos datos en una hoja por medio de una macro, registrando datos como el nombre del proyecto y las sucursales asociadas a este. El tema es que necesito crear una pagina de consulta, en la cual, al seleccionar la sucursal "x", me indique todos los proyectos que están asociadas a esta sucursal (en distintas celdas en lo posible). Como antecedente cree un codigo ocupando las funciones indice y coincidir, pero en los casos que la sucursal estuviese en la misma columna, solo considera el primero en encontrar. Adjunto una imagen a continuación:

1 Respuesta

Respuesta
2

H   o l a: Te anexo la macro.

Pon tus datos en la "Hoja1" como se muestra en la imagen:


Pon la sucursal que quieras consultar como se muestra en la "Hoja2":


La macro:

Sub Proyectos()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    col = "A"               'Columna de proyecto
    Set suc = h2.[B1]       'celda donde capturas la suscursal a buscar
    '
    If suc.Value = "" Then
        MsgBox "Captura una sucursal"
        Exit Sub
    End If
    '
    fila = suc.Row + 1
    uc = h2.Cells(fila, Columns.Count).End(xlToLeft).Column + 2
    h2.Range(h2.Cells(fila, 2), h2.Cells(fila, uc)).ClearContents
    '
    j = 2
    Set r = h1.Cells
    Set b = r.Find(suc.Value, lookat:=xlWhole)
    If Not b Is Nothing Then
        celda = b.Address
        Do
            'detalle
            h2.Cells(2, j) = h1.Cells(b.Row, col)
            j = j + 1
            Set b = r.FindNext(b)
        Loop While Not b Is Nothing And b.Address <> celda
    Else
        MsgBox "No existe la sucursal"
    End If
End Sub

Cambia en la macro "Hoja1" y "Hoja2" por los nombres de tus hojas.

Cambia la letra "A" en col = "A" por la letra de la columna donde tienes los proyectos.

Si quieres poner la sucursal en otra celda diferente a la celda B1, cambia B1 en esta línea de la macro:

Set suc = h2.[B1]

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Proyectos
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Muchas gracias Dante Amor, me funciona la macro a la perfección, ahora la adaptaré a mi formato, muchas gracias nuevamente y saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas