Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Enrico,
Ho scaricato i tuoi file.
Il problema che hai riscontrato è dovuto al fatto che la tabella di origine per la tabella pivot contiene un elemento di calcolo implicito: la query che crea la tabella Games divide tutte le Openings tra il nome dell'Opening padre e la variazione.
Fortunatamente, il tuo problema è soggetto a una soluzione semplice: copia la tabella Games su un nuovo foglio e utilizza il nuovo foglio come origine per la tabella pivot.
L'aspetto negativo di questo suggerimento è che la tabella di dati copiata non verrà aggiornata automaticamente quando viene aggiornata la query che crea la tabella Games. Per ovviare a questo possibile inconveniente:
- Fai click sulla linguetta del foglio Data
- Seleziona l'opzione Visualizza Codice dal **** menu contestuale risultante
- Incolla il seguente codice:
'========>>
Option Explicit
'-------->>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim destSH As Worksheet, pivotSH As Worksheet
Dim oTable As ListObject, oTable2 As ListObject
Dim oPivot As PivotTable
Const sFoglio\_Destinazione As String = **"Data2" '<<=== Modifica**
Const sFoglio\_NewPivot As String = **"Pivot2" '<<=== Modifica**
Const sTabella As String = **"Games" '<<=== Modifica**
Const sTabella2 As String = **"Games2" '<<=== Modifica**
Const sTabella\_NewPivot As String = **"PivotTable2" '<<=== Modifica**
With ThisWorkbook
Set destSH = .Sheets(sFoglio\_Destinazione)
Set pivotSH = .Sheets(sFoglio\_NewPivot)
End With
Set oTable = Me.ListObjects(sTabella)
Set oTable2 = destSH.ListObjects(sTabella2)
Set oPivot = pivotSH.PivotTables(sTabella\_NewPivot)
On Error Resume Next
oTable2.DataBodyRange.Delete
On Error GoTo 0
oTable.DataBodyRange.Copy Destination:=oTable2.Range.Cells(2, 1)
oPivot.RefreshTable
End Sub
'<<========
- Alt+Q per chiudere l'editor di VBA e tornare a Excel.
- Salva il file con l'estensione xlsm.
Ora, ogni volta che i dati della query sul foglio dati vengono aggiornati, la tabella sul foglio Data2 verrà aggiornata in modo corrispondente e verrà aggiornata anche la tabella pivot sul foglio Pivot2.
Potresti scaricare il mio file di prova Enrico20220617.xlsm
===
Regards,
Norman