Saltar al contenido

Mostrar datos según condicion


dbuera

Recommended Posts

publicado

Acudo a vosotros otra vez porque me he quedado en blanco con documento. Os explico.

Tengo 2 hojas en la 1a llamada "Indice" en la celda B1 tengo una lista con 3 años (2013/2014/2014) y en las celdas C2:N2 (una para cada mes) en blanco. Y en la otra hoja llamada "Datos", están los datos correspondientes a sus años (2013,2014,2015).

Lo que me gustaría es que al poner el año el la celda B1 me salieran en la 1a pagina los datos correspondientes a la 2a hoja de cada año.

Muchas gracias,

Adjunto el xlsx.

Dropbox - Document.xlsx

publicado

Incluye este código en la Hoja1 (no en un módulo) y me cuentas...

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("b1")) Is Nothing Then
With Sheets("Datos").Columns("a")
Set anual = .Find(Target, lookat:=xlWhole)
Range("c2:n2") = anual.EntireRow.Columns("b:m").Value
End With
End If
End Sub[/CODE]

Un saludo,

Tese

publicado

Muchas Gracias funciona perfecto, pero resulta que tengo otro excel parecido, y estoy intentando poner la macro que me has dado con el que tengo pero no hay manera, estaría muy agradecido si me dieras una posible solución si es posible.

El funcionamiento es parecido, en el A2 de la 1a hoja se selecciona el año, y me gustaria que se pusieran los valores de la pagina nº2 en la 1 con su respectivo mes y el año. Muchas gracias

Dropbox - docprueba1.xlsm

publicado

Buenas,

La verdad es que pienso que podrías organizar los datos incluidos en tu hoja "B.D." con una estructura similar a la que aparece en la de "AÑO ACTUAL", pues eso facilitaría el trabajo, pero bueno, después de darle vueltas al coco, parece que algo hemos logrado.

Incluye el código adjunto en "AÑO ACTUAL" y me cuentas....

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("a2")) Is Nothing Then
With Sheets("B.D.").Rows("3")
Set anual = .Find(Target, lookat:=xlWhole)
valores = anual.Column + 1
End With
empieza = 7
Application.EnableEvents = False
For i = 2 To 13
desde = Cells(empieza, valores).Address
hasta = Cells(empieza + 30, valores).Address
Range(Cells(3, i), Cells(33, i)) = Sheets("B.D.").Range(desde & ":" & hasta).Value
empieza = empieza + 32
Next i
Application.EnableEvents = True
End If
End Sub[/CODE]

Un saludo,

Tese

publicado

Muchísimas Gracias Tese, me has servido de gran ayuda, ya me gustaría saber una pequeña parte de lo que sabes tú.

Un saludo

publicado

De nada, dbuera, ha sido un placer haberte podido ayudar.

Y no debo saber tanto cuando nadie me da una oportunidad laboral para demostrarlo, porque por desgracia, llevo ya un tiempo desempleado. Si eres de Madrid y conoces a alguien que necesite una persona para aportar esos conocimientos como valor añadido, pues ya sabes donde encontrarme....;)

Recuerda dar por finalizado el tema para que los administradores lo puedan cerrar.

Escribe algo así como "Tema Solucionado".

Un saludo,

Tese

publicado

Pues no soy de Madrid, pero espero que tengas suerte, porque por desgracia este pais esta hundido y estamos muchos como tu asin, suerte y gracias

Ya podeis dar el tema como SOLUCIONADO!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.