Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Workstation - Risorse Disponibili Insufficienti??!?

    Ciao a tutti, passo subito al sodo....

    COMPUTER

    CPU - core 2 quad Q6700 2,66 GHz
    RAM - 8 GB DDR2
    SCHEDA VIDEO - Ge Force 8800 Ultra

    WINDOWS VISTA 64 BIT
    OFFICE 2007


    Il problema è che sto facendo una tesi sui mercati finanziari e sto usando delle quantità enormi di dati che ho scaricato con Datastream su Excel. Tanto per

    darvi un' idea, alcuni fogli riportano il prezzo giornaliero delle azioni dal 1950 ad oggi, sulle colonne ho la data, sulle righe ho le società. Le società

    sono circa 20.000 (tutte le società europee "vive" e "morte") => in alcuni fogli ho anche 450.000.000 di celle. I file (che sono tutti in excel) in alcuni

    casi arrivano a oltre 500 Mb.

    In questo momento sto cercando di pulire i database per poi passare tutto su Access. Il problema è che spesso excel mi scrive risorse disponibili

    insufficienti.

    Ad esempio stavo cercando di far girare questa macro per creare un unico file degli "equity indices" (questo perchè nello scaricare con Datastream) avevo

    spezzato lo scarico dati in più file e quindi ho Ei1, Ei2, Ei3, Ei4 ..... adesso però vorrei avere un unico file "Equity Indices", ho scritto quindi questa

    macro:



    Sub Macro1()
    Dim n As Long
    Dim j As Integer
    Dim h As Long

    Workbooks.Open Filename:="C:\Users\Condor\Desktop\Equity macro\EI1.xlsm"
    Workbooks.Open Filename:="C:\Users\Condor\Desktop\Equity macro\EI2.xlsm"

    For n = 1 To 3484
    j = 6232
    h = n + j

    Windows("EI2.xlsm").Activate
    Sheets("anagrafica").Select
    Range("A" & n).Select
    ActiveCell.EntireRow.Select
    Selection.Copy

    Windows("EI1.xlsm").Activate
    Sheets("anagrafica").Select
    Range("A" & h).Select
    ActiveSheet.Paste

    Windows("EI2.xlsm").Activate
    Sheets("valori").Select
    Range("A" & n).Select
    ActiveCell.EntireRow.Select
    Selection.Copy

    Windows("EI1.xlsm").Activate
    Sheets("valori").Select
    Range("A" & h).Select
    ActiveSheet.Paste


    Next n




    Windows("EI1.xlsm").Activate
    ActiveWorkbook.Save

    Windows("prova macro 2.xlsx").Activate
    ActiveWorkbook.Close



    End Sub

    Il problema come dicevo è che dopo un po' dice risorse disponibili insufficienti, ma in realtà il computer sta usando solo 4 GB e ne avrebbe altri 4 a

    disposizione per finire il lavoro. Tra l' altro questa non è nenache una delle operazioni più complicate che dovrebbe fare :-( !!!!!

    COsa bisogna fare? E' colpa dei limiti di excel?

  2. #2
    Stai usando Excel a 32 o a 64 bit? In ogni caso Excel non è assolutamente pensato per trattare quelle moli di dati.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Allora dato che ho vista a 64 bit credo sia Excel a 64 bit ma posso controllare.....se vado in opzioni excel mi riporta Excel 2007 SP1 MSO. Si capisce da qui o ci sono altri modi per controllare?

    Tra l' altro aggiungo spesso che ogni workbook di excel usa solo il 25% della CPU, se apro un nuovo workbook ne usa un altro 25%....però mi piacerebbe che se c'è CPU disponibile usasse il 100% .... ma credo che anche questo non sia possibile e sia un limite di excel giusto?

  4. #4
    ma poi...excel a 64 bit ESISTE????

  5. #5
    Originariamente inviato da hacky2106
    Allora dato che ho vista a 64 bit credo sia Excel a 64 bit ma posso controllare.....
    Le due cose non sono legate; comunque, in ogni caso se hai Excel a 32 bit non può allocare più di 4 GB di RAM su un sistema a 64 bit se è linkato con il flag LARGEADDRESSAWARE, altrimenti non né può allocare più di 2.
    ma poi...excel a 64 bit ESISTE????
    Non saprei...
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Originariamente inviato da hacky2106
    ma poi...excel a 64 bit ESISTE????
    No, l'attuale versione di Office esiste solo a 32 bit
    Ci sono varie indiscrezioni ed indizi sul fatto che la prossima versione di Office (Office 14) sarà anche a 64 bit

    Es: http://www.onewindows.it/25/03/2009/...-di-office-14/

  7. #7
    ecco forse ho trovato quello che cercavo....sta' cosa del LARGEADDRESSAWARE.....

    adesso mi arriva fino a 2 GB (anche un po' meno) se arrivasse almeno a 4 GB direi che avrei risolto buona parte dei problemi....

    Domanda..... per utilizzare il LARGEADDRESSAWARE come si fa? Basta solo mettere delle righe di codice dentro la macro? Devo cambiare qualcosa nelle impostazioni di excel? o di vista?

  8. #8
    Originariamente inviato da hacky2106
    Domanda..... per utilizzare il LARGEADDRESSAWARE come si fa? Basta solo mettere delle righe di codice dentro la macro? Devo cambiare qualcosa nelle impostazioni di excel? o di vista?
    Dovresti modificare l'eseguibile di Excel, ma se non hanno pensato di impostare questo flag già alla Microsoft probabilmente la sua impostazione può causare dei problemi per motivi che non sto a spiegarti
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    per quanto riguarda l' uso della CPU, sai dirmi perchè pur utilizzando tutti e 4 i core un processo di excel non va mai sopra il 27% di uso?? è normale?

  10. #10
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Beh, non è detto che Excel sia in grado di utilizzare al meglio le CPU multi-core

    Qui (proprio parlando di Excel 2007)

    http://newtonexcelbach.wordpress.com...edback-please/

    ad esempio dicono "dual core processors are not supported in VBA"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.