Como seleccionar ultimo elemento de un desplegable o campo de una tabla dinámica con macro en excel.

He creado una tabla dinámica con gráfica y estoy automatizando el proceso con una macro en excel para que se puede ejecutar sola, aún no esta terminada porque cada día los datos se actualizan con los datos del dia anterior pero no se como hacer que la macro me seleccione el último campo o la ultima fecha del desplegable del campo fecha de la tabla dinámica. Grabando una macro en excel se selecciona un campo o fecha pero siempre la misma. ¿Podéis echarme una mano para que la macro coja el ultimo dato o en este caso la ultima fecha del desplegable?

2 respuestas

Respuesta
1

Como estas, deberías hacer un bucle en donde están los datos a seleccionar ej

While Sheets("hoja1").Range("A1") <> Empty

And cont = 1

a = Range("A1").Value

contá = 1

Wend ActiveSheet.PivotTables("Tabla mitabledinam").PivotFields("territorio2").PivotFilters.Add Type:=xlCaptionEquals, Value1:=a

Con esto haces un bucle y como se pone que el bucle va a seguir mientras no este vacía la columna A y el contá no sea igual a 0.

Adáptalo a tu tabla y me comentas, antes de puntuar verifica si es la respuesta que necesitas sino preguntas nuevamente, gracias. Visita www.programarexcel.blogspot ahí encontrarás maros para bajar y aplicar a tu proyecto.

Respuesta
1

La macro que grabaste esta bien, solo hay que agregar la fecha actual(date)

ActiveSheet.PivotTables("Tabla dinámica3").PivotCache.Refresh ActiveSheet.PivotTables("Tabla dinámica3").PivotFields("Date").CurrentPage = Date

La Variable Date es una función que devuelve la fecha actual.

Lo que quiero es que me coja la fecha del día anterior en el caso en el que hubiera o la ultima del desplegable donde hay varias fechas, porque los fines de semana no cuentan en mi tabla, no hay información, con lo que si la lanzase un lunes el ultimo día que aparecería seria viernes. Ves una solución para esto?

Este código selecciona la ultima fecha de la lista desplegable

Sub SeleccionarUltimaFecha()
    Dim nUltimaFecha As Integer
    Dim UltimaFecha As Date
    nUltimaFecha = ActiveSheet.PivotTables("Tabla dinámica3").PivotFields("Date").PivotItems.Count
    UltimaFecha = ActiveSheet.PivotTables("Tabla dinámica3").PivotFields("Date").PivotItems(nUltimaFecha).Value
    ActiveSheet.PivotTables("Tabla dinámica3").PivotFields("Date").CurrentPage = UltimaFecha
End Sub

Lo que hace es guardar el numero de fechas de la lista (que es igual al numero de la ultima fecha) en la variable nUltimaFecha, después guarda el valor de ultima fecha en la variable UltimaFecha, y luego selecciona el ultimo elemento del menú desplegable(UltimaFecha).

¿Te ha servido la macro que te proporcione para seleccionar la ultima fecha del campo Date de tu tabla dinámica?, si es así podrías calificar la respuesta. Si aun tienes duda coméntala.

La verdad que no he tenido tiempo de probar la macro, pero supongo que tu si lo has hecho, gracias. Lo intento poner en practica lo antes posible, lo estoy ejecutando manualmente, si tuviese algún problema te comento.

Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas