Macro per filtrare pivot con dati variabili
Hai un problema con Excel?
Macro per filtrare pivot con dati variabili
di kellington90 (utente non iscritto) data: 07/05/2016 02:31:46
Salve a tutti, chi mi sa aiutare a creare una macro che vada a pescare dei dati che inserisco manualmente in una tabellina e li inserisce come Filtri all'interno di una pivot ? Mi spiego, la tabella è composta da due colonne (che dovranno corrispondere ai due filtri che mi servono nella pivot) colonna Codice e colonna Tipo. Se ad esempio nella colonna Codice inserisco una serie di codici e sulla colonna Tipo inserisco solamente un valore come "normal", cliccando sul tasto la macro va a prendere quelle informazioni e le va a inserire all interno della pivot. Questo mi eviterebbe di inserire a mano tutti i filtri ogni volta. Allego file
di kellington90 (utente non iscritto) data: 07/05/2016 11:15:02
Nessuno è in grado di darmi una mano? Magari esiste gia la funzionalità standard di excel sulle pivot, ma sinceramente non la trovo.. per questo vorrei utilizzare una macro
di stephen (utente non iscritto) data: 07/05/2016 19:14:34
Non credo si possa fare... ma forse mi sbaglio, aspetterei qualcuno che sia in grado ma dubito poichè non è per nulla semplice.. in bocca al lupo!
di kellington90 (utente non iscritto) data: 08/05/2016 21:38:21
Nessuno in grado ?
di alfrimpa data: 08/05/2016 23:19:56
Ciao kellington
Le tabelle pivot non sono un argomento molto conosciuto (io ne so poco o nulla).
A questo punto ti consiglierei di porre il quesito anche su altri forum; magari avrai maggiore fortuna.
In bocca al lupo.
Alfredo
di kellington90 (utente non iscritto) data: 09/05/2016 12:32:56
Ciao Alfrimpa, ho provato a postare la domanda su un altro forum (dove ho visto ne fai parte) ma un moderatore me l'ha bloccata poichè avevo gia fatto la domanda qui.... comunque se ci fosse qualcuno che è in grado di aiutarmi ne sarei molto grato . grazie!
di alfrimpa data: 09/05/2016 13:52:41
Ciao
Ho visto che sull'altro forum, prima che la discussione fosse chiusa, ti era stata data una risposta.
Hai provato ad applicare la soluzione che ti era stata proposta?
Alfredo
di Kellington90 (utente non iscritto) data: 09/05/2016 15:13:14
Ciao, si ho provato ed è una bella soluzione ma purtroppo non è cio' di cui avrei bisogno. Quel metodo è carino per una piccola quantità di dati, ma quando ho una pivot collegata a centinaia e centinaia di dati, diventa difficile poi! Peccato
di Albatros54 data: 09/05/2016 17:22:43
Se ho capito.
Prova a lanciare il codice postato.
ciao
albatros54
Sub Macro1()
Dim sh As Worksheet
Dim sh1 As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
For Each pt In ActiveSheet.PivotTables
For Each pf In pt.RowFields
pf.AutoSort xlManual, pf.SourceName
For Each pi In pf.PivotItems
pi.Visible = False
Next
Next
pf.AutoSort xlAscending, pf.SourceName
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Set sh = ThisWorkbook.Worksheets("template_per_inserimento_dati")
With sh
lrigaA = .Range("A" & .Rows.Count).End(xlUp).Row
lrigab = .Range("B" & .Rows.Count).End(xlUp).Row
End With
Set sh1 = ThisWorkbook.Worksheets("pivot")
sh1.Activate
For a = 2 To lrigaA
With ActiveSheet.PivotTables("Tabella pivot1").PivotFields("Codice")
cod = sh.Cells(a, 1)
.PivotItems(cod).Visible = True
End With
Next
'ActiveSheet.PivotTables("Tabella pivot1").PivotFields ("Tipo")
For Z = 2 To lrigab
With ActiveSheet.PivotTables("Tabella pivot1").PivotFields("Tipo")
codb = sh.Cells(Z, 2)
.PivotItems(codb).Visible = True
End With
Next
End Sub |
di kellington90 (utente non iscritto) data: 09/05/2016 23:30:40
Grazie Albatros funziona ! Purtroppo però ho notato alcune cose: se non è presente nessun filtro sulla pivot, la macro non da nessun risultato.. C'è un modo per evidenziare SOLO quei valori che inserisco neo foglio template inserimento dati? Come se togliessi la spunta a tutto il resto, lasciando visibile solo cio' che mi serve (appunto, presene nella tabella)
GRazie per l'aiuto
Vuoi Approfondire?