Ciao,
mi avevi preparato le macro per scrivere in tutte le righe di col.B i valori di col.C, che nella tabella Pivot è scritta solo in capo al nuovo codice preso in esame.

(Nota: ho adattato la macro originale modificando l'istruzione
uriga = .Range("D" & Rows.Count).End(xlUp).Row
in
uriga = .Range("C" & Rows.Count).End(xlUp).Row
dato che la mia tabella inizia da col.C)
Ho chiesto "lumi" sul significato esatto delle due istruzioni evidenziate, che avevo intuito erano riferite a quello che mi hai spiegato, perché nonostante questo continua a comportarsi in modo strano:
Se facesse tutto correttamente eseguendo l'istruzione scritta, il risultato finale dovrebbe essere questo

scriverebbe cioè il 10 fino all'ultima riga scritta della col.D della tabella [
And .Cells(n, col + 1) <> "" ]
invece continua ad essere questo

scrive il 10 fino alla riga del 10 di col.C e poi basta... come se la seconda parte dell'istruzione scritta in rosso non venisse presa in considerazione...
Perché avviene questo? La macro lavora sulla tabella Pivot già compilata o lavora a monte, collegandosi direttamente alla macro che scrive la tabella Pivot? Secondo me è la prima ipotesi, perché non sono contenute nel testo della Sub Per_filtro coordinate di riferimento ad altre macro...
Grazie assai e buon pomeriggio,
eZio