Anche io vado per la tabella pivot, e (sperando di non destabilizzare niente) suggerisco questo approccio:
Metti l'elenco in Foglio1, con le intestazioni su riga 1 e niente sotto l'elenco
In J1 inserisci l'intestazione "Sezione"; in J2 metti la formula
- Codice: Seleziona tutto
=SE(H2<>"";D2&"*"&E2;"")
Copia quindi verso il basso, diciamo per 200-300 righe (il massimo di righe che pensi di poter compilare).
Poi seleziona le intere colonne B:J e avvia la compilazione della tabella pivot, tramite Alt-D-B (il tasto Alt deve rimanere premuto mentre premi D e B); premi Avanti, Avanti, Fine
Dovrebbero ora essere visibili, in genere sulla destra del foglio, i campi dell'area selezionata:
-trascina Tipo legname nell'area Etichetta di riga
-trascina MC nell'area Valori; se non viene visualizzato "Somma di MC" allora fai click sulla freccetta di scelta, scegli Impostazione campo valore, scegli Somma, premi Ok
-trascina Sezione nell'area Etichette di colonna
Con un po' di formattazione avrai una tabella come da immagine:
free image upload(per visualizzare l'immagine completa: tasto dx, Visualizza immagine)
Quando la tabella di Foglio1 sara' aggiornata, vai sul foglio con la tabella pivot, seleziona una cella della pivot, tasto dx, scegli Aggiona.
Quest'ultima fase la puoi automatizzare:
-tasto dx sul tab col nome del foglio che contiene la pivot, scegli Visualizza codice; si aprira' l'editor delle macro
-copia questo codice e incollalo nel frame vuoto di dx
- Codice: Seleziona tutto
Private Sub Worksheet_Activate()
For I = 1 To ActiveSheet.PivotTables.Count
PivotTables(I).PivotCache.Refresh
Next I
End Sub
Chiudi l'editor (Menu /File /Chiudi) e torna al file Excel.
A questo punto tutte le volte che attivi il foglio con la pivot il contenuto della pivot verra' aggiornato secondo il contenuto di Foglio1
Il file dovra' poi essere salvato come "macro enabled", cioe' ".xlsm"
Ciao