Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

di il
10 risposte

Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

E' una semplice curiosità perchè ormai ho risolto il problema armandomi di santa pazienza e ricostruendolo. Fa parte di una cartella di circa 5MB con una decina di fogli in funzione da mesi: codice VBA, formule, formattazioni, collegamenti ipertestuali, nessun intoppo. Ho ripulito un pò di copypaste con dei pastespecial dove è stato possibile, rimosso formattazioni condizionali ma è rimasto pressochè lo stesso e continuava a funzionare. Ho deciso di far aggiungere la data dell'ultimo salvataggio nella macro Private Sub Workbook_BeforeClose(Cancel As Boolean), una riga in tutto:

Sheets("Foglio1").Range("a1").Value = Format(Now, "dd/mmm/yyyy hh:mm")

Da allora non funziona più niente. O meglio, funziona ma impiega decine di minuti ad aprirsi, a chiudersi, ad eseguire le macro. Ho provato di tutto finche ho individuato la causa in uno dei fogli e rimuovendolo il rallentamento è scomparso. Ma ovviamente dovevo ripristinarlo. Ho tentato con il copia incolla, con il pastespecial sia a mano che con il codice, solo valori, rimosso formattazioni condizionali, formule, sfondi. Passo dopo passo ho tolto tutto ed è rimasto un foglio vuoto; l'ultimo step è stato il seleziona tutto + cancella tutto. Diciamo che si è corrotto, ma mi incuriosisce sapere cosa contiene visto che continua a pesare 5MB come tutto il programma. Aggiungo che tutto il file ora pesa 1,8MB e non più 5, quindi senza saperlo mi sono tirato dietro per mesi un fardello inutile anche se non dava problemi. Venendo al sodo e curiosità a parte: ricostruire un foglio significa un sacco di lavoro perchè se lo copio mi porto dietro anche il blob. Inoltre si rinumerano tutti gli oggetti, dai pulsanti ai menu a discesa, forme ecc e non mi pare che si possa assegnar loro una numerazione ma si deve prendere quella proposta da Excel e ovviamente adeguare tutto il codice ai nuovi riferimenti. A qualcuno è successo? Come ci si comporta in questi casi, ci sono strumenti più rapidi che ricreare tutto da zero? Non mi riferisco alla ricostruzione del foglio, ma all'individuare il maligno che vi si annida. Ora è tornato a funzionare ma il dubbio mi è rimasto: cosa c'è dentro a quel foglio apparentemente vuoto? Esiste un modo per fare un debug e sapere cosa sta facendo il programma in quelle decine di minuti prima di ogni operazione? Segnalo che l'ultima operazione prima della chiusura è l'inserimento della data, e quella si aggiorna immediatamente. Ho anche reinstallato Excel ma senza risultati perchè il problema era solo ed esclusivamente in quel foglio del file (Excel 2016 con l'ultimo aggiornamento di una settimana fa)

10 Risposte

  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    E' capitato anche a me su un file che aggiorno spesso da vari anni, ho risolto copiando il contenuto su un nuovo documento. Ho letto da qualche parte che excel tiene memoria di tutte le modifiche e a lungo andare il file cresce a dismisura.
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    Si può essere, ora dopo aver ricreato quel foglio sto mettendo sotto pressione il file aggiungendo e togliendo dati con le stesse macro di prima ma la dimensione è sempre la stessa. Ciò che mi incuriosisce è sapere cosa c'è in quel foglio vuoto, e soprattutto immaginare cosa stesse facendo Excel dopo aver portato a termine l'ultima istruzione del codice. Perchè in effetti non è mai stato un blocco ma un rallentamento, da paura ma pur sempre un rallentamento e quindi qualcosa stava facendo, ma cosa? La stranezza è che anche Dropbox si rifiuta di caricarlo. In giro dicono che "sarà un virus" ma è tanto per dire qualcosa: che virus colpirebbe un solo foglio di un solo file mentre il resto funziona, soprattutto l'applicazione? E come dicevo, come si ripristina un foglio senza dover ricostruire tutto a manina per non tirarsi dietro anche il misterioso blob? Mi sa che mi dovrò tenere la curiosità. Ciao patel, grazie per la risposta
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    Ciao
    A me non è mai successo (fino ad oggi) ma, visto che dici che ti è apparso DOPO l'inserimento di quella riga di codice, prova a non formattare, cioè

    Sheets("Foglio1").Range("a1").Value = Now()

    Io ho fatto delle prove ma non cambia nulla, il peso quello è e quello rimane.
    Ciao,
    Mario
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    In effetti è stata una casualità e non dipende da quella riga, evidentemente è successo qualcosa d'altro. Dopo aver ricostruito il foglio 'posseduto' la riga di codice è ancora lì e non è successo più nulla (dopotutto scrive una semplice data in una cella). Sicuramente c'era già qualcosa in atto che non aveva dato problemi, ma da parecchio tempo perchè la dimensione del file non è cresciuta all'improvviso ed è sempre stata sui 5MB. Ora dopo la cura varia di poco a seconda di quanti dati aggiungo o tolgo e si aggira intorno a 1,8MB (la qual cosa all'inizio mi ha insospettito perchè temevo di aver perso per strada qualcosa) invece è ancora tutto lì, sia dati che codice e funziona regolarmente. Ormai mi rassegno a considerarlo un foglio corrotto anche se mi piacerebbe sapere perchè è avvenuto. Forse ad esserne capaci bisognerebbe vivisezionare quel foglio vuoto che pesa 5MB ma certamente è a livello di codice programma e quindi resterà un mistero. L'unica speranza è che non accada più perchè non c'è modo di ricostruire tutto con il copia incolla, neppure il solo pastespecial values perchè si porta dietro comunque l'ambaradan. Ciao buon ferragosto
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    Per vivisezionare quel file modifica l'estensione in zip ed aprilo, esamina i file xml
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    Grazie per il consiglio Patel, ho fatto come hai detto ed all'apertura è diventata una cartella con dei files che però non riesco ad aprire con nessuna applicazione, alcuni di notevoli dimensioni. Ho fatto una schermata del contenuto e l'ho caricata qui se vuoi vedere
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    I file xml sono comuni file di testo e puoi aprirli con Apri Con Notepad oppure excel
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    Ho provato con vari text editor ma il risultato è sempre un miliardo di righe nel formato %&$#§°^ e quindi incomprensibili. Se invece lo apro con Excel torno a vedere il solito foglio vuoto con una misteriosa riga di intestazioni simil-codice. Ho messo una schermata qui
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    Evidentemente si è corrotto qualcosa, prova a fare le stesse operazioni su un file funzionante
  • Re: Una curiosità: cosa c'è in un foglio vuoto che pesa oltre 5MB?

    Provato. Aprendo con un text editor l'xml dello sheet1 di un file non corrotto vedo il log dei formati delle celle utilizzate. In quello corrotto le prime 15 righe sembrano fare altrettanto ma poi inizia una sequenza infinita che pare essere la descrizione delle colonne successive a quelle usate come se contenessero qualcosa che in realtà non ci dovrebbe essere. Ecco una breve sequenza per farti capire. Grazie per i tuoi consigli e buona giornata

    customWidth="1"/><col min="9999" max="16384" width="14.33203125" customWidth="1"/></cols><sheetData><row r="1" spans="1:37" ht="15" x14ac:dyDescent="0.2"><c r="A1"/><c r="E1"/><c r="F1"/><c r="G1"/><c r="H1"/><c r="I1"/><c r="J1"/><c r="K1"/><c r="L1"/><c r="M1"/><c r="N1"/><c r="O1"/><c r="P1"/><c r="Q1"/><c r="R1"/><c r="S1"/><c r="T1"/><c r="U1"/><c r="V1"/><c r="W1"/><c r="X1"/><c r="Y1"/><c r="Z1"/><c r="AA1"/><c r="AB1"/><c r="AC1"/><c r="AD1"/><c r="AE1"/><c r="AF1"/><c r="AJ1"/><c r="AK1"/></row><row r="2" spans="1:37" ht="15" x14ac:dyDescent="0.2"><c r="A2"/><c r="E2"/><c r="F2"/><c r="G2"/><c r="H2"/><c r="I2"/><c r="J2"/><c r="K2"/><c r="L2"/><c r="M2"/><c r="N2"/><c r="O2"/><c r="P2"/><c r="Q2"/><c r="R2"/><c r="S2"/><c r="T2"/><c r="U2"/><c r="V2"/><c r="W2"/><c r="X2"/><c r="Y2"/><c r="Z2"/><c r="AA2"/><c r="AB2"/><c r="AC2"/><c r="AD2"/><c
Devi accedere o registrarti per scrivere nel forum
10 risposte