Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

file di dimensioni inaspettatamente enormi

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

file di dimensioni inaspettatamente enormi

Postdi Ale75 » 23/08/18 09:25

Salve,

mi sono imbattuto in un problema "strano".
ho un file di origine che contiene un database, dal quale lancio una macro per creare un nuovo file con 4-5 pagine e copiare alcuni set di dati dal database di origine.
il database di origine, con macro, formule, fomattazioni e diverse pagine pesa circa 2MB, il nuovo file creato dalla macro ne pesa OLTRE 160MB !
e non capisco perche...
ho usato questo codice base

Codice: Seleziona tutto
    Windows(Origine).Activate  '-- è il file di origine contenente il database
    Call SettaUnioneUno   'copia i dati del file di origine

    Windows("Output.xlsx").Activate '-- è il file di finale creato dalla macro
    UnioneUNO.Copy Worksheets("UNO").Range("A1")  '--UnioneUNO viene creata dalla sub SettaUnioneUno --- può essere in questo comando di copia il problema?


per completezza la sub richiamata sopra è indicata sotto. Per velocizzare l'perazione ho usato Union definendo dei range di colonne da copiare in funzione di alcune variabili globali.

Codice: Seleziona tutto
Sub SettaUnioneUNO()

Sheets("OrigineUno").Select

Set PrimiCampi = Range("F:X") '), Cells(1, 16).End(xlDown)) ' Campi iniziali fissi


Codici = Variabile1  'variabile Globale (definita in altra parte)
Valore= Variabile2    'VariabileGlobale (definita in altra parte)
Posizioni= Variabile2    'VariabileGlobale (definita in altra parte)


Set UnioneUNO = Union(PrimiCampi, Columns(Codici), Columns(Codici + 1), Columns(Valore), Columns(Valore+ 1), Columns(Posizioni), Columns(Posizioni + 1))
End Sub



la cosa che non capisco è che la stessa struttura l'ho usata anche per un altra macro e funziona senza problemi.
L'unica differenza e che i campi che compongono UnioneUno hanno al loro interno delle formule.

giusto per info.
se manualmente prendo il file finale creato (che contiene dalle 200 alle 400 riche a pagina e lo copio ed incollo su un nuvo file, le dimensioni di ques'ultimo sono di poki kb, come dovrebbe essere.

sapete darmi una dritta?

grazie.
Ale75
Utente Junior
 
Post: 33
Iscritto il: 31/03/17 08:42

Sponsor
 

Re: file di dimensioni inaspettatamente enormi

Postdi Anthony47 » 23/08/18 15:37

Probabilmente il foglio OrigineUno e' corrotto, comunque un certo miglioramento potresti averlo modificando la tua SettaUnioneUNO in questo modo:
Codice: Seleziona tutto
Sub SettaUnioneUNO()

Sheets("OrigineUno").Select

nRows = ActiveSheet.UsedRange.Rows.Count + 10               '**** AGGIUNTA
Debug.Print "Foglio ORIGINEUNO, numero righe: " & nRows     '**** AGGIUNTA
Set PrimiCampi = Range("F1:X" & nRows)   '), Cells(1, 16).End(xlDown)) ' '**** MODIFICATA


Codici = Variabile1  'variabile Globale (definita in altra parte)
Valore = Variabile2   'VariabileGlobale (definita in altra parte)
Posizioni = Variabile2   'VariabileGlobale (definita in altra parte)


Set UnioneUNO = Union(PrimiCampi, Range(Cells(1, Codici), Cells(nRows, Codici + 1)), Range(Cells(1, Valore), Cells(nRows, Valore + 1)), Range(Cells(1, Posizioni), Cells(nRows, Posizioni + 1)))    '**** MODIFICATA
End Sub

La differenza rispetto al tuo codice e' che non si copiano le intere colonne ma solo quelle dell'Area utilizzata. Purtroppo la corruzione riguarda spesso proprio il calcolo della UsedRange, quindi la "pezza" potrebbe essere bucata.
Pertanto dopo aver eseguito il codice, se le dimensioni rimangono spropositate, vai nel vba; premi Contr-g per aprire la "Finestra Immediata" e leggi cosa dice il messaggio "Foglio ORIGINEUNO, numero righe: XXX
Se quel XXX non e' coerente con le righe presenti in OrigineUno allora dovremo guardare quel contenuto.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17514
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "file di dimensioni inaspettatamente enormi":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti