|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve scusa ma mi era sfuggita la tua ultima osservazione. Speravo tra me e me che tu avessi Excel 2007 che di righe ne gestisce oltre un milione..(ma forse con la tua enorme tabella non sarebbero bastate. prova a simulare le possibili combinazioni che ne vengono fuori) Domani mi ritaglio un attimo per vedere una soluzione sperando di farci rientrare almeno la Tabella Pivot. Per stasera Lavoro e caldo hanno gia prodotto un abbondante surriscaldamento. saluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
a10n11 ha scritto: scusa ma mi era sfuggita la tua ultima osservazione. (...) Per stasera Lavoro e caldo hanno gia prodotto un abbondante surriscaldamento.
:D Scusa tu... con 'ste tabelle ti sto assillando non poco! ...Il caldo, poi, non è certo il massimo ahahahah E ci mancherebbe anche che ti metto fretta, :D (eppure... ci sono anche quelli.....!!) La versione che ho installato è la 2002 (XP) quindi piuttosto datata Il problema è che sto facendo un'analisi che tiene anche (anzi, sopra tutto) conto dello storico, per cui purtroppo non posso spezzettare le tabelle in quanto vanno analizzate da inizio a fine come un tutt'uno... per quanto riguarda i numeri sia di Tab1 sia per quelli di Tab2, li stiamo riducendo a un centinaio al massimo, avendo riscontrato dei codici praticamente doppioni dello stesso pezzo (la catalogazione manuale- umana- aveva un limite, che le "fredde" macchine non hanno...). Grazie assai per tutto quello che stai facendo per me... ;) Buona giornata, eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve ti ho fatto una modifica di corsa. Vedi il file allegato. La modifica consiste nel ciclare una colonna per volta della tabella 1 e creare contemporaneamente 6 aree di 4 colonne ciascuna a partire dalla colonna Q sulle quali vanno realizzate le 6 tabelle Pivot che trovi nel foglio TabPivot. Mi pare che funzioni provalo e fa sapere se ha bisogno di correttivi. http://rapidshare.com/files/408344384/aetio-prova2.zipsaluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, ho provato a inserire la macro, con le modifiche per adattarla alle mie tabelle che, per quanto riguarda i dati da elaborare: partono da riga 2, da col.C (3) a col.G(7) è Tab1, da col.H(8) a col.AG(33) è Tab2 e la griglia Numero/ Tab1/ Tab2/ Compon. parte da col AK (37), ma arriva all'ultima riga della 1^ griglia della tabella "confronta tabelle" e dà lo stesso messaggio di errore di run-time, senza passare alla 2^ griglia. Sicuramente sbaglio oppure ometto qualche aggiustamento di parametro di riferimento della mia macro Sono sicuro che ce la faremo alla fine.... noto con estremo piacere che siamo entrambi "teste dure" ahahahah Grazie ancora, ciao eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve nel codice che hai modificato, c'è solo una piccola correzione da fare : Cells(Riga, col + 1) = n - 2 se ometti il (-2) non risulteranno corrette le numerazioni di colonna di tabella1 nelle Tabelle Pivot. Ho provato ad ampliare il numero di righe fino a 588 e non mi dà alcun errore. PS. da quante righe è composta la tua tabella originale?? Ho riprodotto il layout del tuo file nel file che allego. http://rapidshare.com/files/408363485/aetio-prova2.zipsaluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
La tabella a tutt'oggi ha ben 4698 righe (gulp!!)Eccomi: il layout è quello, ho provato a copiare/incollare la mia tabella nel tuo file (omettendo intestazioni varie... non si sa mai!) e il maledetto si blocca all'ultima riga della prima griglia (col.AK:AN) senza ripartire nella seconda (col.AP:AS) non riesco a capire da cosa possa dipendere... Anche controllando col filtro automatico la presenza di "corpi estranei" che possano inficiare il lavoro della macro non risulta neinte di anomalo: solo numeri, freddi numeri che a 'sto punto sono riventati roventi ahahaha...Il copia/ incolla dal mio al tuo file l'ho fatto con l'opzione di incolla speciale/ valori (tralasciando così remote formattazioni che in qualche modo potrebbero interagire...) bo? Allora ho provato a copiare/incollare la tabella del tuo file per farla ingrossare ai "pesi" della mia e infatti anche nel tuo file la macro si pianta con l'errore di run-time...'1004' Hai un'idea da cosa possa dipendere, dato che con la tua tabella funziona? Grazie infinite, ciao eZio.
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve la struttura della macro esegue una ciclo per ogni colonna della tabella1 e ne scrive i risultati nelle tabelle di appoggio. Tutta l'elaborazione ad esempio della colonna C finisce nella colonna Ak:AN dai numeri che mi hai appena dato 4698 righe x 26 colonne producono una tabella di 122148 righe che per excel 2000 sono decisamente troppe. Anche se tecnicamente è possibile far proseguire l'elaborazione sulla colonna attigua, ci troveremo poi incasinati nella costruzione delle tabelle Pivot. Una soluzione che mi viene in mente è quella dividere la tabella 2 da 8:21 22:33 ed otterremo per ogni numero di tabella1 2 tabellePivot. se la cosa può andare bene ci posso mettere mano sempre che nel frattempo non mi si illumini una lampadina. saluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
a10n11 ha scritto:salve la struttura della macro esegue una ciclo per ogni colonna della tabella1 e ne scrive i risultati nelle tabelle di appoggio. Tutta l'elaborazione ad esempio della colonna C finisce nella colonna Ak:AN dai numeri che mi hai appena dato 4698 righe x 26 colonne producono una tabella di 122148 righe che per excel 2000 sono decisamente troppe. Anche se tecnicamente è possibile far proseguire l'elaborazione sulla colonna attigua, ci troveremo poi incasinati nella costruzione delle tabelle Pivot. Una soluzione che mi viene in mente è quella dividere la tabella 2 da 8:21 22:33 ed otterremo per ogni numero di tabella1 2 tabellePivot. se la cosa può andare bene ci posso mettere mano sempre che nel frattempo non mi si illumini una lampadina. saluti Giap
Temevo la tua diagnosi... :) Per quanto riguarda la divisione della Tab2 in più tabellePivot non dovrei avere alcun problema, in quanto le comparazioni avvengono tra una colonna di Tab1 e una colonna di Tab2, che per comodità estrema noi (grazie al tuo preziosissimo suggerimento) andiamo a raggruppare in poche tabelle... non dimentichiamo che la soluzione "arcaica" e grezza del sottoscritto prevedeva ben 130 tabelle... da vero suicidio. Il problema è un altro, a questo punto... siccome sei stato stra-stra-stra-e ancora-stra gentile a darmi retta su questa cosa non voglio che diventi per te un impegno oltre misura accettabile, qui siamo in territorio di "Aiuta Amici"... ma la tua è già MOLTO più di una consulenza. Non vorrei abusare della tua immensa Educazione (con la E maiuscola). Certo, se arriviamo a capo di questo inghippo siamo davvero gente caparbia che non si lascia scoraggiare da nulla... La tua "lampadina", poi, è da 1.000.000 di Watt :D figurati se un problemino come questo la mette in scacco matto!! :)) Grazie infinite davvero, eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve in serata quando rientro provo a sistemarlo saluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
a10n11 ha scritto:salve in serata quando rientro provo a sistemarlo saluti Giap OK Sei di grande esempio per milioni di cialtroni "so tutto io" che popolano l'Web...... Buon pomeriggio e, ti raccomando, con tua comodità... ;) Grazie assai...eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve ..mi raccomando non aggiungere legna sul fuoco.. è già fin troppo bollente !.. veniamo a noi. Credo e spero di aver trovato una soluzione alla tua montagna di dati. Nel file che ti allego ho simulato due tabelle di 4700 righe che con il metodo scelto arrivano ad essere contenute nei limiti del foglio di excel. Ho spezzato in due la tabella2 ed ora ti trovi nel foglio TabPivot 10 tabelle Pivot a sinistra incolonnate le tabelle che contengono le 5 colonne di tabella1 e le prime dodici colonne di Tabella2 a Destra incolonnate le tabelle che contengono òe 5 colonne di Tabella1 e le ultime dodici colonne di Tabella2 C'è voluto più tempo per eseguire la macro che modificarla. Spero che tu abbia un processore abbastanza veloce. fa sapere se riscontri altri problemi. il file: http://rapidshare.com/files/408440495/aetio-prova3.zipsaluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, a10n11 ha scritto:Credo e spero di aver trovato una soluzione alla tua montagna di dati. ... Centro!!a10n11 ha scritto:Spero che tu abbia un processore abbastanza veloce. fa sapere se riscontri altri problemi. Nessun problema riscontrato... Che spettacolo!! :O :O :O sono rimasto senza parole nel vedere quelle tabellePivot compilate, così ordinate, così chiare... Il processore ha impiegato una manciata di secondi, il tempo di andare di là a vuotare un bicchiere d'acqua e tornare alla scrivania... Domanda da allocco: cosa devo fare per aggiornare il tutto ogni volta che aggiungiamo "carne al fuoco"? Rilanciare la macro, vero? Non so proprio cosa fare per ringraziarti... sei stato veramente Grande con me. Ciao e Buona serata, eZio.
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
aetio ha scritto:
Domanda da allocco: cosa devo fare per aggiornare il tutto ogni volta che aggiungiamo "carne al fuoco"? Rilanciare la macro, vero? eZio.
salve basta rilanciare la macro. Ma attenzione con 4700 record siamo arrivati come occupazione di righe a 61000 circa non pensare di poterne aggiungere moltissime altre. Nel caso bisognerà dividere ulteriormente la tabella 2. Per lavori così pesanti, io penserei di adottare la versione 2007. saluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, a10n11 ha scritto: Per lavori così pesanti, io penserei di adottare la versione 2007
... Mi hai letto nel pensiero. ;) Grazie ancora e Buona serata, eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, a10n11 ha scritto: Per lavori così pesanti, io penserei di adottare la versione 2007
...consiglio che ho messo in pratica ;))))) Ora però quando lancio le macro per la tabella Pivot dopo un po' esce un messaggio di errore di run-time'1004': Impossibile nascondere la selezioneecco una FOTOOrmai sai che sono una cippa in materia, anche se sono armato di buona volontà... ho cercato di capire quali possano essere le cause di questo errore (che prima con excel 2002 non compariva), ma non sono riuscito a scovarle. Per favore mi dai qualche dritta? Grazie e buon pomeriggio, eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve nella macro, quella riga serviva per eliminare dalla visulizzazione la colonna "Totale Complessivo" quella che vedi nell'immagine: l'errore ci dice che si sta cercando di eliminare una parte della tabella non consentita. Per la soluzione ho bisogno di vedere come EX2007 crea la tabella. Dovresti disattivare la riga che genera l'errore mettendo all'inizio della riga un apice(') e lanciare la macro poi postare una immagine di una tabella creata. saluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, a10n11 ha scritto: Dovresti disattivare la riga che genera l'errore mettendo all'inizio della riga un apice(') e lanciare la macro poi postare una immagine di una tabella creata.
fatto: ora la macro termina senza segnalazione di errori e nel foglio TabPivot c'è QUESTOFacendo dei controlli random i dati scritti nelle tabelle sono esatti... ma qual'era la circostanza che non faceva "digerire" al nuovo pargolo la vecchia macro, considerando che è di gran lunga più potente del suo predecessore e che col 'vecio' filava tutto liscio? Per confronto faccio una FOTO anche della vecchia tabella Pivot, prima di lanciare la macro col nuovo arrivato a seguito di un aggiornamento delle tabelle di Foglio2 con l'aggiunta di una riga di dati... Grazie e buon pomeriggio, eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve non riesco a comprendere la natura dell'errore. In ogni caso puoi eseguire la macro con l'istruzione disattivata e se la colonna "Totale Complessivo" non vuoi vederla puoi nasconderla a mano Click Dx sulla cella >nascondi Per pura curiosità o meglio per capire il problema, mi sarebbe utile conoscere i valori estratti dalla macro in questo punto: Cells(Rtab + 1, 256).End(xlToLeft) dovresti aggiungere la riga in rosso nella posizione indicata appena sopra l'istruzione congelata ......................... End With Range("A65536").End(xlUp).Delete Debug.Print Cells(Rtab + 1, 256).End(xlToLeft).Address 'Cells(Rtab + 1, 256).End(xlToLeft).Delete Set rng = Nothing End Sub Dopo aver fatto l'aggiunta lancia la macro al termine torna nell'editor di Visual Basic digita Ctrl+G e copia qui i valori che sono presenti nella finestra immediata. Alla fine puoi cancelllare la riga aggiunta nella macro. Altra cosa che noto nel raffronto dei due risultati che mostri. Hai modificato qualcosa nella macro? Se guardi bene c'è un piccolo particolare ma importante tra le due immagini. Nel vecchio in alto a sinistra trovi "Conteggio di Numero" nel nuovo è cambiato in "Somma di numero" attenzione! i risultati che ottieni sono completamente differenti. saluti Giap
|
|
Rank: AiutAmico
Iscritto dal : 5/10/2010 Posts: 723
|
Ciao, eccomi... prima di tutto ti chiedo scusa se ti sto facendo tribolare non poco con questa macro, con me hai davvero un'enorme pazienza! Ho postato anche la seconda immagine perché anche a me sembrava molto strano il fatto che i due termini fossero differenti... Non ho fatto null'altro che prendere il vecchio file, convertirlo nel nuovo formato xlsm, aggiungere la riga di aggiornamento dei dati delle tabelle e lanciare la macro che avevo copiato direttamente dal tuo ultimo file di prova (che ALLEGO, nel caso tu l'avessi già cestinato). Macro che col 'nonnino' funzionava... ecco il risultato dell'operazione da te richiesta, eseguita per sicurezza d'integrità nel tuo file di prova senza apportarvi aluna variazione dei dati (a parte, ovviamente, di farlo girare in ambiente nuovo...): $S$5 $S$395 $S$711 $S$1051 $S$1400 $AJ$5 $AJ$395 $AJ$711 $AJ$1051 $AJ$1400 Nota: anche nel tuo file nel nuovo ambiente, dopo aver lanciato la macro, ora compare la scritta: Somma di Numero.... Nessun problema ad eseguire il mio file (senza toccare nulla se non l'aggiungere la riga di aggiornamento dati delle tabelle1 e 2) col vecchio 2002, come puoi vedere... FOTO1FOTO2ma purtroppo come hai sottolineato siamo al limite della sua capacità contenitiva... Grazie assai e buona giornata, eZio
|
|
Rank: AiutAmico
Iscritto dal : 5/29/2003 Posts: 1,694
|
salve non ho sotto mano la versione 2007 quindi non posso provarlo. Nella versione 2003 non da' alcun problema. i valori che hai passato sono corretti. Bisognerebbe che tu riattivi la riga della macro, quando va in errore annulla l'esecuzione della macro, va nel foglio TabPivot e crea una immagine del foglio relativamente all'ultima tabella creata per cercare di capire cosa è di ostacolo. Per quanto riguarda Somma/conteggio di numero, dovresti controllare che tipo di riepilogo viene eseguito. Click Dx sulla voce Somma di numero>Impostazione campo guarda cosa trovi evidenziato nella casella "riepiloga per" saluti Giap
|
|
Guest |