Filtro Rapporto Personalizzato



  • Filtro Rapporto "Personalizzato"
    di martello_84 data: 04/01/2015 17:22:45

    Ciao a tutti,
    sto cercando di utilizzare i filtri delle tabelle Pivot in VBA.

    Io vado a filtrare tra tutti i campi quelli di Novembre indicando 11.2014 come condizione "Start Date"..

    Se però "Start Date" anziché Filtro Pivot (banalmente etichetta di riga) lo uso come Report Filter (Filtro Rapporto) non funziona più e non sono riuscito a trovare il modo corretto per farlo.

    Potreste darmi qualche consiglio?
    Grazie a tutti, Marco
     
    Sheets("PIVOT").Select
    ActiveWorkbook.RefreshAll
    ActiveSheet.PivotTables("Tabella_pivot1").ClearAllFilters
         
    Range("F08").Select
    ActiveCell.FormulaR1C1 = "=CONCATENATE('Calcoli'!R2C15,""."",'Calcoli'!R3C15)"
     
    ActiveSheet.PivotTables("Tabella_pivot1").PivotFields("Start Date"). _
    PivotFilters.Add Type:=xlCaptionContains, Value1:=Range("F08").Value
     
    Range("F08").Select
    Selection.ClearContents
    



  • di Vecchio Frac data: 04/01/2015 17:39:20

    Non siamo nelle condizioni di ricreare la tua situazione.
    Se puoi preparare un file di esempio con dati fittizi e allegarlo, è meglio.

    (Sei costretto a usare VBA o puoi impostare manualmente l'interrogazione della pivot?)





  • di martello_84 data: 05/01/2015 02:30:25

    Ho messo un file di esempio (col codice incluso).
    Nel file di test occorre indicare nello sheet "Calcoli" il numero del mese (9, 10 oppure 11) che viene letto ed usato nella macro.
    Nel secondo allegato (Test 2) c'è la tabella Pivot così come la vorrei.

    Ho usato VBA per ottenere i dati riassunti mensilmente all'interno di una macro che comprende altri passaggi (caricamento dati del mese, aggiornamento dello storico, aggiornamento pivot, vari calcoli e grafici).
    Vorrei mantenere la pivot di Test 2 perché in tal modo è "consultabile" per i dettagli dei mesi precedenti.

    Se servono altre indicazioni chiedi pure, intanto ti ringrazio per l'interessamento.

    Marco



  • di Grograman data: 05/01/2015 09:55:57

    Ma usare un campo in più nella pivot?

    Puoi usare il concatena direttamente nel DB dati, con un "trova" stabilisci se la stringa concatenata è presente nella start date, a quel punto una volta messo nella pivot il suddetto campo basta aggiornare la stessa e avrai applicato il filtro

    Allego esempio (TestGro), ho aggiunto questa formula nella colonna H del foglio "Historical" e modificato come segue il codice:
     
    =VAL.ERRORE(TROVA(CONCATENA(Calcoli!$O$2;".";Calcoli!$O$3);C2))
    
    
    Codice:
    Sub Aggiorna_Dati()
      Sheets("PIVOT").PivotTables("Tabella_pivot1").PivotCache.Refresh
    End Sub