Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

pivot con campi inesistenti

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

pivot con campi inesistenti

Postdi matzap » 10/09/13 17:30

ciao,
ho una pivot con un filtro rapporto in cui nel menu a tendina compaiono 24 nomi.
se digito il codice:
y = Worksheets("analisi").PivotTables("Tabella_Pivot7").PivotFields("nome").PivotItems.Count
MsgBox y

il messaggio dice 50
non riesco a capire perchè.
vi posto tutta la macro.
inoltre all'struzione in grassetto mi dice:
"errore definito dall'applicazione dell'oggetto".
se la faccio ripartire da Range("B1").select, al ciclo succesivo mi dice:
"chiamata di routine o argomento non validi"
Sub crea_report()
'Commento:selezione ad uno a uno il campo "nomi" della tabellapivot
Worksheets("analisi").Select
Worksheets("analisi").PivotTables("Tabella_Pivot7").PivotCache.Refresh
ActiveSheet.PivotTables("Tabella_pivot7").PivotFields("nome").CurrentPage = "(All)"
With Worksheets("analisi").PivotTables("Tabella_Pivot7")
y = Worksheets("analisi").PivotTables("Tabella_Pivot7").PivotFields("nome").PivotItems.Count
MsgBox y
For x = 1 To Worksheets("analisi").PivotTables("Tabella_Pivot7").PivotFields("nome").PivotItems.Count
curitem = .PivotFields("nome").PivotItems(x).Value
Worksheets("analisi").Range("C3") = curitem
ActiveSheet.PivotTables("Tabella_pivot7").PivotFields("nome").CurrentPage = curitem
Worksheets("analisi").Select
Worksheets("analisi").PivotTables("Tabella_Pivot7").PivotCache.Refresh
Range("B1").Select
Selection.Copy
Worksheets("Foglio1").Select
If ActiveSheet.Range("A3") = Empty Then
ActiveSheet.Range("A3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Worksheets("analisi").Select
'Application.Run "TrovaStrCopia"
Else
ActiveSheet.Range("A2").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("analisi").Select
'Application.Run "TrovaStrCopia"
End If
Next x
End With
End Sub

avete qualche spiegazione?
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Sponsor
 

Re: pivot con campi inesistenti

Postdi matzap » 10/09/13 17:49

ah! dimenticavo,
all'istruzione:
Worksheets("analisi").Range("C3") = curitem
in C3 mi mete un valore che non ho da nessuna parte!
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Re: pivot con campi inesistenti

Postdi ricky53 » 10/09/13 23:25

Ciao,
non per dire sempre le stesse cose ma un file sarebbe utile per poterti aiutare.

per il valore di "C3":
che valore ottieni?


Comunque in "C3" avrai il contenuto di
Codice: Seleziona tutto
curitem = .PivotFields("nome").PivotItems(x).Value

per l'ultimo valore di "x" visto che utilizzi un ciclo For/Next ma imposti sempre la cella "C3"
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: pivot con campi inesistenti

Postdi Anthony47 » 11/09/13 01:20

Guarda il messaggio di Ricky, sopra.
Io penso che la tua situazione sia quella descritta e risolta in quest' altra discussione: viewtopic.php?f=26&t=97138#p557422
Avendo tu XL2010 dovresti poter anche agire sulle "opzioni della tabella", senza bisogno della macro (che pero' ha il vantaggio di poter lavorare su piu' tabelle e su piu' fogli).

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: pivot con campi inesistenti

Postdi matzap » 12/09/13 11:32

mi ricordavo di una macro simile che avevo visto nel forum....
avevo già cancellato e ricreato la pivot e il problema e sparito. ovviamnete il motivo non lo so.
comunque la macro Pvt_Unused che mi hai suggerito sembra funzionare e la terro da conto per le successive volte.
grazie
excel 2010
matzap
Utente Senior
 
Post: 227
Iscritto il: 16/04/13 08:27

Re: pivot con campi inesistenti

Postdi Anthony47 » 12/09/13 14:53

La macro Pvt_Unused e' descritta in questo messaggio: viewtopic.php?f=26&t=97138#p557426
Essa cancella dalla cache della pivot i campi non piu' usati nel set di dati attuali ma che la pivot ricorda da tutti i precedenti calcoli (microsoft la vende come una prestazione); questo spiega anche perche' ricreando la tabella ex novo il problema non esiste.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "pivot con campi inesistenti":


Chi c’è in linea

Visitano il forum: Nessuno e 23 ospiti