Formula o macro para traer datos según varias variables

En una hoja de Excel tengo la data con mucha información organizada y necesito que se lleve a otra hoja según las variables de dos columnas distintas, los datos están en la misma fila de las variables, lo que sucede son varias cosas:

  1. El área se selecciona desde una lista de despliegue
  2. En la columna de la data de Área los datos son repetidos, hasta 12 veces por área.

Les dejo el adjunto el archivo con las dos hojas, los datos que encontraran en los # 1 y #2 son a manera de ejemplo, lo que busco es que de acuerdo a la selección de la lista de despliegue se traigan los datos como están en el ejemplo.

https://www.dropbox.com/s/2xfmyel1g292e41/Libro1.xlsx?dl=0

Les agradezco mucho puedan ayudarme, si existen dudas estaré atento a resolverlas.

1 respuesta

Respuesta
2

Esto es posible realizarlo con Filtro Avanzado o con la macro que te adjunto. Con filtro necesitas de todos modos una macro pero si la deseas podés solicitamela en otra consulta)

En el Editor insertá un módulo y allí copiá lo siguiente:

Sub pasando()
'x Elsamatilde
'limpia en hoja Consolidado la tabla de datos anteriores
Sheets("Consolidado").[C7:H18] = ""
'pasa datos según solicitud
dato = Sheets("Consolidado").[E2]
Application.ScreenUpdating = False
Sheets("Data").Select
Set busco = [E:E].Find(dato, LookIn:=xlValues, lookat:=xlWhole)
If Not busco Is Nothing Then
    ini = busco.Row: fini = ini
    While Cells(fini, 6) <> "" And Cells(fini, 5) = dato
    fini = fini + 1
    Wend
    'copio el rango
    Range(Cells(ini, 6), Cells(fini - 1, 11)).Copy _
    Destination:=Sheets("Consolidado").[C7]
    Sheets("Consolidado").Select
    [C7].Select
End If
End Sub

Ahora, en el mismo Editor, seleccioná con doble clic la hoja Consolidado (desde el panel de Objetos a tu izquierda). Y allí copiá esta otra. Lo que hará es que cada vez que cambies el valor del desplegable se ejecute la macro de pase.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$E$2" Then Exit Sub
If Target.Value = "" Then Exit Sub
'Call filtrando
Call pasando
End Sub

¡Gracias! Elsa mil gracias... ya te envío la pregunta para el evento Call Filtrando a ver como queda!!

Indica en el cuerpo del mensaje que es 'Para Elsa' .

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas