Problemi memoria



  • Problemi memoria
    di Neo (utente non iscritto) data: 25/05/2013 15:18:42

    Io ho una routine che copia 55 righe dal foglio1 e le incolla in seguenza nel foglio2 per la bellezza di molto oltre 10.000 righe. Eseguendo le righe sotto riportate si nota un vistoso rallentamento dalla partenza fino alla fine segno che qualcosa non va.

    Sub Crea_copia(riga As Integer, i As Integer)
    'crea una copia del modello
    Sheets("Foglio1").Rows("1:55").Copy Destination:=Sheets("Foglio2").Range("A" & riga)
    Application.CutCopyMode = False
    End Sub

    Se provo il codice
    #If Win64 Then
    Public Declare PtrSafe Function _
    OpenClipboard Lib "user32" (ByVal hwnd As LongLong) As Long
    Public Declare PtrSafe Function _
    EmptyClipboard Lib "user32" () As Long
    Public Declare PtrSafe _
    Function CloseClipboard Lib "user32" () As Long
    #Else
    Public Declare Function _
    OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Public Declare Function _
    EmptyClipboard Lib "user32" () As Long
    Public Declare Function _
    CloseClipboard Lib "user32" () As Long
    #End If

    Public Sub mVuotaClipboard()
    OpenClipboard (0&)
    EmptyClipboard
    CloseClipboard
    End Sub

    non rileva
    PtrSafe
    avendo io vba 6.3

    Alla chiusura del file mi esce un messaggio "l'immagine è troppo grande e verrà trocata" e poi
    "Risorse disponibili non sufficienti. Scegliere dati di dimensioni minori o chiudere le altre applicazioni"

    Il pc è un quad core amd con 4Gb di Ram

    Potete darmi una mano?



  • di mabolsie data: 25/05/2013 15:33:53

    Ciao Neo, la risposta te l'ha già data il computer puoi verificare se il problema è della ram dimezzando le righe da copiare da 10000 a 5000 il tempo di elaborazione dovrebbe diminuire.
    Tieni presente che anche le immagini hanno bisogno di molta ram per essere elaborate.
    Comunque hai un buon computer ( anche se ormai parliamo di 32 Gb di ram ).
    Io ho avuto lo stesso problema qualche anno fa con il computer vecchio, ed aumentando la ram risolsi il problema.
    Spero di esserti stato utilie
    Ciao Max