[RESUELTO] Filtros en tabla dinamica

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
RASAPA
Mensajes: 226
Registrado: Mar Mar 16, 2010 10:41 pm

[RESUELTO] Filtros en tabla dinamica

Mensaje por RASAPA »

Buenos dias,
He conseguido crear una tabla dinamica, mediante macros, con ejemplos de los forums y un poco de paciencia se ha hecho.
Necesito profundizar en las tablas dinamicas y estoy intentando filtrar los campos de la tabla, en el mismo momento de crearla.
Hasta ahora he fracasado.
Subo este ejemplo de creacion de tabla mediante macros, para ver si alguien sabe como crear esos filtros.
O sea que ejecutando el ejemplo enviado, al darle al boton , cree la tabla dinamica con el filtro en el campo "Country", y ya solo aparezcan los datos de Michigan y Ohaio.

Saludos
Ramon
Adjuntos
tablaDinamica.ods
(23.12 KiB) Descargado 610 veces
Última edición por RASAPA el Dom Abr 10, 2016 4:38 pm, editado 3 veces en total.
LibreOffice 7.3.1.3
Linux Mint 20.3
FJCC-ES
Mensajes: 915
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Filtros en tabla dinamica

Mensaje por FJCC-ES »

Anadí a su código estas lineas

Código: Seleccionar todo

  oField.Function = com.sun.star.sheet.GeneralFunction.SUM
  '******** FJCC
  Dim FilterField(1) as New com.sun.star.sheet.TableFilterField
  FilterField(0).Connection = com.sun.star.sheet.FilterConnection.OR
  FilterField(0).Field = 1
  FilterField(0).Operator = com.sun.star.sheet.FilterOperator.EQUAL
  FilterField(0).IsNumeric = FALSE
  FilterField(0).StringValue = "Michigan"
  FilterField(1).Connection = com.sun.star.sheet.FilterConnection.OR
  FilterField(1).Field = 1
  FilterField(1).Operator = com.sun.star.sheet.FilterOperator.EQUAL
  FilterField(1).IsNumeric = FALSE
  FilterField(1).StringValue = "Ohio"
  oTDescriptor.FilterDescriptor.FilterFields = FilterField
  '**************
  oTables.insertNewByName("MyFirstDataPilot", oCellAddress, oTDescriptor)
RASAPA
Mensajes: 226
Registrado: Mar Mar 16, 2010 10:41 pm

Re: Filtros en tabla dinamica

Mensaje por RASAPA »

Buenos dias, FJCC-ES,
Muchas gracias tanto por la rapidez, como por la solución.
He probado con varios filtros a la vez y FUNCIONA MUY BIEN.

Una cosa mas.

Cuando se abre la tabla dinamica, en el campo del filtro, solo sale el campo seleccionado, hay alguna posibilidad de que salgan todos los campos y que solo esten marcados los seleccionados?
O sea que tenga la posibilidad de abrir el listbox del filtro y que pueda canviar los seleccionados?.
Por ejemplo, si hay los meses del año, quiero que salgan todos, pero solo seleccionados los que se han establecido en el filtro de la macro.

Saludos
Ramon
LibreOffice 7.3.1.3
Linux Mint 20.3
RASAPA
Mensajes: 226
Registrado: Mar Mar 16, 2010 10:41 pm

Re: [RESUELTO] Filtros en tabla dinamica

Mensaje por RASAPA »

He encontrado la solucion en el link https://forum.openoffice.org/es/forum/v ... 50&t=12098

Muchas gracias
Ramon
LibreOffice 7.3.1.3
Linux Mint 20.3
Responder