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
- Abre tu libro de Excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- En el menú elige Insertar / Módulo
- En el panel del lado derecho copia la macro
- Ahora para crear un botón, puedes hacer lo siguiente:
- Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
- Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
- 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”
- Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Proyectos
- Aceptar.
- Para ejecutarla dale click a la imagen.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias