Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

Tabelle pivot

  • Messaggi
  • OFFLINE
    vibby
    Post: 1
    Registrato il: 14/04/2020
    Età: 43
    Utente Junior
    2010
    00 14/04/2020 12:20
    Buongiorno, premetto che ho poca esperienza con le tabelle pivot.
    Io uso il seguente codice per aggiornare tutte le pivot nella mia cartella, distribuite su vari fogli.

    pivot
     Dim PT As PivotTable
     'Ciclo tutte le PivotTable
     For Each sh In ThisWorkbook.Worksheets
        For Each PT In sh.PivotTables
     'Aggiorno
        PT.RefreshTable
        Next
    Next
    


    Il problema è che da "Riferimento non valido" in fase di Debug sulla linea: pt.refreshtable.

    Qualcuno sa dirmi cosa sto sbagliando?

    Grazie Mille
  • OFFLINE
    duccio.73
    Post: 13
    Registrato il: 27/12/2016
    Città: SIENA
    Età: 50
    Utente Junior
    Office 2019/Office 365
    00 14/04/2020 12:45
    Ciao,
    ho provato la macro e a me non dà problemi. Potresti allegare un foglio il file che ti dà problemi eliminando i dati sensibili?
    ---
    pensa bene a quello che cerchi, allega un file di esempio, prova il registratore di macro, imparerai e potresti già avere la soluzione
  • OFFLINE
    vibby
    Post: 1
    Registrato il: 14/04/2020
    Età: 43
    Utente Junior
    2010
    00 15/04/2020 16:20
    Ciao, ti allego il file Excel su cui sto lavorando. I dati sono fittizi quindi non ti preoccupare.
  • OFFLINE
    dodo47
    Post: 2.685
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 15/04/2020 17:02
    ciao
    il problema è che le tue pivot hanno un range di riferimento fisso ('Input Data'!$A$1:$T$14) e non dinamico, pertanto puoi aggiungere quello che vuoi ma le pivot resteranno ferme ai valori fino alla riga 14 del foglio Input Data.

    Crea il seguente nome:

    mDB (o chiamalo come ti pare)
    assegnando la formula:

    =SCARTO('Input Data'!$A$1;0;0;CONTA.VALORI('Input Data'!$A:$A);20)

    Poi, per ogni Pivot cambia l'origine dati e ci metti:
    =mDB

    saluti




    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    vibby
    Post: 2
    Registrato il: 14/04/2020
    Età: 43
    Utente Junior
    2010
    00 15/04/2020 18:15
    Re:
    dodo47, 15/04/2020 17:02:






    Grazie per l'aiuto, però le mie pivot hanno il range dinamico creato con la formula =SCARTO......

    Infatti se modifico la tabella principale, poi vado sulla Pivot e la aggiorno funziona.

    Il mio problema è che voglio aggiornarle da VBA e non con il tasto destro sulla tabella....

    Spero di essermi spiegato bene, se hai domande per aiutarmi chiedi pure.. :)

    [Modificato da vibby 15/04/2020 18:16]
  • OFFLINE
    vibby
    Post: 3
    Registrato il: 14/04/2020
    Età: 43
    Utente Junior
    2010
    00 15/04/2020 18:17
    Re:
    dodo47, 15/04/2020 17:02:

    ciao
    il problema è che le tue pivot hanno un range di riferimento fisso ('Input Data'!$A$1:$T$14) e non dinamico, pertanto puoi aggiungere quello che vuoi ma le pivot resteranno ferme ai valori fino alla riga 14 del foglio Input Data.

    Crea il seguente nome:

    mDB (o chiamalo come ti pare)
    assegnando la formula:

    =SCARTO('Input Data'!$A$1;0;0;CONTA.VALORI('Input Data'!$A:$A);20)

    Poi, per ogni Pivot cambia l'origine dati e ci metti:
    =mDB

    saluti




    Grazie per l'aiuto, però le mie pivot hanno il range dinamico creato con la formula =SCARTO......

    Infatti se modifico la tabella principale, poi vado sulla Pivot e la aggiorno funziona.

    Il mio problema è che voglio aggiornarle da VBA e non con il tasto destro sulla tabella....

    Spero di essermi spiegato bene, se hai domande per aiutarmi chiedi pure.. :)


  • OFFLINE
    dodo47
    Post: 2.687
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 16/04/2020 09:44
    allora avrai sbagliato file, perchè in quello inviato non c'è nessun nome definito e tutti gli oggetti fanno riferimento a: 'Input Data'!$A$1:$T$14

    saluti




    [Modificato da dodo47 16/04/2020 10:17]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    duccio.73
    Post: 17
    Registrato il: 27/12/2016
    Città: SIENA
    Età: 50
    Utente Junior
    Office 2019/Office 365
    00 16/04/2020 11:29
    Per quanto riguarda il range dinamico non viene aggiornato ma il problema lamentato da Vibby è relativo all'errore durante il debugging. A me questo errore non appare sul file che è stato postato

    ---
    pensa bene a quello che cerchi, allega un file di esempio, prova il registratore di macro, imparerai e potresti già avere la soluzione
  • OFFLINE
    dodo47
    Post: 2.689
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 16/04/2020 11:38
    neanche a me restituisce l'errore nell'allegato inviato




    Domenico
    Win 10 - Excel 2016