Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Rallentamenti dopo anteprima o stampa dopo macro

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

[Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 10/06/09 13:03

Salve a tutti,

Ho una cartella di Excel che contiene 3 fogli.
Uno è un listino, uno è un foglio per l'emissione di fatture, uno è un foglio per l'emissione di DDT.
Ad ogni foglio per l'emissione di documenti è associata una macro diversa che viene attivata da un pulsante presente sul foglio stesso.
Il foglio di partenza in pratica è un master e la macro in pratica copia il documento creato su un nuovo foglio di lavoro convertendo tutte le formule presenti in valori.

MACRO1:La macro per l'emissione della fattura crea un foglio di lavoro nuovo e poi in pratica opera un copia incolla di tutti i dati necessari convertendo le formule in valori e reimpostando anche il formato pagina;
MACRO2:La macro per l'emissione di DDT crea una copia del foglio di partenza e sostituisce le formule con i relativi valori.

Se eseguo la MACRO1 tutto OK, mentre se eseguo la MACRO2 e dopo faccio una stampa o mi porto in anteprima di stampa, Excel (Versione XP) rallenta in modo esagerato per svariati minuti, salvando tutto torna OK.
Ho fatto delle prove:
- Se cambio la stampante predefinita da una HP Laserjet 1200 ad una stampante virtuale (nel mio caso PDF Creator) la situazione migliora ma non si risolve;
- Su altri PC con sempre installato EXCEL XP, la problematica non si verifica.

Premetto che le macro non sono ottimizzate e che sicuramente potrebbero essere migliorate, ma dato che vengono eseguite comunque molto velocemente evidentemente il problema sta nell'accoppiata MACRO+STAMPA, qualcuno ci capisce qualcosa?
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Sponsor
 

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi Anthony47 » 10/06/09 15:24

Difficile fare un tentativo di analisi a distanza; in prima battuta non sembrerebbe un problema di excel ma di risorse di sistema, se altri pc con lo stesso programma vanno molto meglio.
Puoi provare a verificare con task manager, tab Prestazioni, l' occupazione di memoria e di cpu durante l' operazione, da eseguire con comandi manuali e non macro; contano piu' le "variazioni" che i valori assoluti.
Vedi anche se trovi un driver per la tua stampante piu' aggiornato di quello che hai al momento.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi Flash30005 » 10/06/09 23:17

Prova a vedere se nella cartella Printers in questo percorso
C:\WINDOWS\system32\spool\printers
hai file "appesi" se li trovi cancellali

e vedi se le Proprietà della Stampante (Tab Avanzate) sono impostate così

Immagine
Fai anche la prova indicata con la freccia

Fai sapere
Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 11/06/09 16:26

Innanzitutto, vi ringrazio dei suggerimenti.

Ho provato a disabilitare il spool di stampa, ma non ha avuto nessun effetto.

Ho portato a video il task manager per vedere l'utilizzo della cpu e del file di paging.

Durante l'esecuzione della macro che dura meno di un secondo la cpu schizza al 100% ma subito dopo torna a livello base.

Se poi vado in anteprima di stampa, oppure si stampa qualcosa, l'utilizzo della cpu riamane basso, ma schizza al 100% provando in seguito a muovere il mouse oppure a spostarsi sul foglio excel con il tabulatore. Tutto torna a posto se si salva il file.
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 11/06/09 16:31

Anthony47 ha scritto:Difficile fare un tentativo di analisi a distanza; in prima battuta non sembrerebbe un problema di excel ma di risorse di sistema, se altri pc con lo stesso programma vanno molto meglio.
Puoi provare a verificare con task manager, tab Prestazioni, l' occupazione di memoria e di cpu durante l' operazione, da eseguire con comandi manuali e non macro; contano piu' le "variazioni" che i valori assoluti.
Vedi anche se trovi un driver per la tua stampante piu' aggiornato di quello che hai al momento.

Ciao.


Cosa intendi quando dici che contano più le variazioni dei valori assoluti? Che contano più il numero di operazioni svolte che la complessità delle stesse?
Ma se fosse un problema di macro non ottimizzata dovrei avere una macro lenta e così non è.
Purtroppo il driver è del 2002 ed è l'unico e l'ultimo disponibile per la HP Laserjet 1200.
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi Anthony47 » 11/06/09 16:49

Ripeto che secondo me e' un problema di risorse del PC, non legato a excel e alle macro.

Quando dicevo "contano piu' le variazioni che non i valori assoluti" intendevo dire che devi fare attenzione non solo a quale e' l' occupazione di memoria o cpu ma a quanto cambiano i parametri nel momento in cui avvii ed esegui le operazioni problematiche.

Hai guardato anche i suggerimenti di Flash?

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 11/06/09 18:37

Mi ero dimenticato di dire, e forse era la prima cosa da sottolineare, che i rallentamenti si verificano solamente sul foglio excel oggetto della macro, se mi sposto su un altro foglio di lavoro il pc funziona normalmente.

Quindi ne deduco che è come se fosse un foglio in continuo aggiornamento (anche se la macro è terminata normalmente) o comunque c'è un evento che lo rallenta quando è attivo quello spefifico foglio di lavoro.

Eppure la macro in sintesi fa solo questo:

Crea una copia del foglio DDT su un nuovo foglio DDT (2)

Copia tutta una serie di valori da DDT a DDT (2). (E' una operazione doppia, ma mi serve per trasformare le formule in numeri, lo so che c'erano metodi migliori)

Rinomia il foglio DDT (2) come DDT+numero ddt

Se serve posso postare la macro
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi Flash30005 » 11/06/09 19:11

Non hai detto se hai trovato dei file appesi nello spool di stampa.

dici che la Cpu sale a 100 ma in Task Manager > Processi qual'è quello che sta utilizzando la cpu?

Apri Task manager > Processi clicchi sulla colonna Cpu (testata) al fine di ordinare in ordine decrescente la percentuale di utilizzo Cpu (il valore più grande sarà in alto) lanci la macro e la stampa e vedi cosa si posiziona lì: quello è il processo che fa rallentare ma... dici che, se muovi il mouse, l'utilizzo cpu scende non vorrei che tu avessi qualche programma di ottimizzazione Pc che entra in funzione nelle attese (tipo Diskeeper), controlla.

dici che hai una macro che copia il foglio DDT e poi i valori da DTT (quali, visto che hai copiato l'intero foglio?)
successivamente trasformi le formule in numeri...
vedi se ti va bene questa macro
Codice: Seleziona tutto
Sub Macro1()
    Sheets("DDT").Copy Before:=Sheets(2)   '<<< qui puoi cambiare e posizionare il foglio alla fine dei fogli
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    Application.CutCopyMode = False
    Sheets("DDT (2)").Select
    Sheets("DDT (2)").Name = "DDT001"   '<<< inserisci qui la tua routine che darà il nome al foglio
End Sub


Ciao

P.s. Se posti la macro, vedrai che Anthony te la ottimizzerà ;)
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi Anthony47 » 11/06/09 21:45

L' ottimo e' nemico del bene: se una macro funziona io "in genere" mi rifiuto di toccarla.
Nel caso specifico guardare la macro potrebbe aiutare a capire se essa puo' contribuire a ingolfare le risorse del sistema, in particolare la memoria, probabilmente piu' limitate degli altri pc su cui lo stesso processo si esegue bene (ma su questo mi piacerebbe sentire cosa dice drbarbi, anche con i dati del taskmanager).

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 12/06/09 09:38

Allora, ho fatto tutte le prove del caso.

Ho svuotato lo spool di stampa (c'erano 2 files) ma senza alcun risultato.

Anzi ora i rallentamenti sono anche sugli altri fogli di lavoro non solo su quello incriminato.

Però ho fatto un tentativo interessante:

La stampante installata sul sistema è una HP Laserjet 1200 installata con 2 modalità:

1° stampante: HP Laserjet 1200 600dpi
Drivers Microsoft standard di Windows XP (con pannello di controllo standard e risoluzione 600x600);

2° stampante HP Laserjet 1200 1200dpi
Drivers HP (con pannello di controllo avanzato e risoluzione 1200x1200):

I problemi si verificano quando è installata come stampante predefinita la 2° stampante, se imposto come stampante predefinita la 1° non ho alcun tipo di rallentamento.

Quindi il tutto è originato dalla combinazione di: Drivers HP PCL6 (che vengono chiamati in causa all'anteprima o stampa) + Macro.
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 12/06/09 09:39

Dimenticavo l'utilizzo della memoria è identico in tutti i casi.
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 12/06/09 09:50

dottbarbi ha scritto:Dimenticavo l'utilizzo della memoria è identico in tutti i casi.


mentre dall'utilizzo della cpu si ottengono risultati interessanti:

dopo l'esecuzione della macro e dell'anteprima di stampa excel si prende il 34% l'AVG si prende il 47%.
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 12/06/09 10:37

Flash30005 ha scritto:Non hai detto se hai trovato dei file appesi nello spool di stampa.

dici che la Cpu sale a 100 ma in Task Manager > Processi qual'è quello che sta utilizzando la cpu?

Apri Task manager > Processi clicchi sulla colonna Cpu (testata) al fine di ordinare in ordine decrescente la percentuale di utilizzo Cpu (il valore più grande sarà in alto) lanci la macro e la stampa e vedi cosa si posiziona lì: quello è il processo che fa rallentare ma... dici che, se muovi il mouse, l'utilizzo cpu scende non vorrei che tu avessi qualche programma di ottimizzazione Pc che entra in funzione nelle attese (tipo Diskeeper), controlla.

dici che hai una macro che copia il foglio DDT e poi i valori da DTT (quali, visto che hai copiato l'intero foglio?)
successivamente trasformi le formule in numeri...
vedi se ti va bene questa macro
Codice: Seleziona tutto
Sub Macro1()
    Sheets("DDT").Copy Before:=Sheets(2)   '<<< qui puoi cambiare e posizionare il foglio alla fine dei fogli
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    Application.CutCopyMode = False
    Sheets("DDT (2)").Select
    Sheets("DDT (2)").Name = "DDT001"   '<<< inserisci qui la tua routine che darà il nome al foglio
End Sub


Ciao

P.s. Se posti la macro, vedrai che Anthony te la ottimizzerà ;)



Avevo provato a copiare la tua macro ed eseguirla, ma mi da un errore di runtime 1004: Errore nel metodo PasteSpecial per la classe Range.
Penso che sia lo stesso errore che ottengo se provo a fare la stessa cosa manualmente (ed il motivo per cui invece di copiare tutti i valori insieme la mia macro li va a prendere per intervalli contigui).
Infatti se creo una copia del foglio DDT-poi seleziono tutto il foglio DDT mi porto su DDT(2) e faccio incolla speciale con opzione "Valori" ottengo la risposta: Per il completamento dell'operazione è necessario che le celle unite siano di dimensioni identiche.

In teoria sono fogli identici ma a quanto pare...
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi Flash30005 » 12/06/09 13:48

Se hai celle unite puoi incorrere in quel tipo di errore
allora se le formule sono distribuite per righe o per colonne, registra una macro che copia il tuo foglio originale e seleziona manualmente le righe o le colonne che hanno formule evitando le celle unite, una volta selezionate copia e incolla speciale solo valori, fermi la macro e vedi il codice generato

Flash30005 ha scritto:Non hai detto se hai trovato dei file appesi nello spool di stampa.

Infatti!

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 12/06/09 15:27

Flash30005 ha scritto:Se hai celle unite puoi incorrere in quel tipo di errore
allora se le formule sono distribuite per righe o per colonne, registra una macro che copia il tuo foglio originale e seleziona manualmente le righe o le colonne che hanno formule evitando le celle unite, una volta selezionate copia e incolla speciale solo valori, fermi la macro e vedi il codice generato

Flash30005 ha scritto:Non hai detto se hai trovato dei file appesi nello spool di stampa.

Infatti!

Ciao


Se guardi qualche post sopra avevo trovato 2 files nel pool di stampa che ho eliminato ma senza risultati.

Ho reinserito la macro da te postata cambiando la funzione incolla speciale in:

Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False

Così non ho problemi con le celle unite.

Ora la nuova macro molto più corta della precedente di fatto fa le stesse cose di prima ma i rallentamenti rimangono.

Sono comunque riuscito ad isolare il problema.

Se vado sul foglio DDT, faccio crea una copia e poi anteprima di stampa, già quel foglio di excel è rallentatissimo, quindi la macro a questo punto non c'entra niente.
Se seleziono il foglio di partenza o qualsiasi altro foglio excel si sblocca.
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi Flash30005 » 12/06/09 22:49

dottbarbi ha scritto:...
Sono comunque riuscito ad isolare il problema.

Se vado sul foglio DDT, faccio crea una copia e poi anteprima di stampa, già quel foglio di excel è rallentatissimo, quindi la macro a questo punto non c'entra niente.
Se seleziono il foglio di partenza o qualsiasi altro foglio excel si sblocca.


Bene! Cominciamo ad analizzare...
suppongo che la memoria a questo punto è occupata dal foglio copiato (ancora in memoria anche se incollato) quindi fai una ulteriore prova
dopo il copia .... e prima dell'anteprima di stampa prova a copiare una sola cella con un valore numerico o un testo e poi vai in anteprima di stampa (così facendo svuoti la memoria dell'intero foglio e la stessa verrà occupata dal valore copiato: pochi byte)

dottbarbi ha scritto:dopo l'esecuzione della macro e dell'anteprima di stampa excel si prende il 34% l'AVG si prende il 47%.

Disabilita L'AVG

dottbarbi ha scritto:La stampante installata sul sistema è una HP Laserjet 1200 installata con 2 modalità:

1° stampante: HP Laserjet 1200 600dpi
Drivers Microsoft standard di Windows XP (con pannello di controllo standard e risoluzione 600x600);

2° stampante HP Laserjet 1200 1200dpi
Drivers HP (con pannello di controllo avanzato e risoluzione 1200x1200):

I problemi si verificano quando è installata come stampante predefinita la 2° stampante, se imposto come stampante predefinita la 1° non ho alcun tipo di rallentamento.

Ma scusa cosa ci devi fare con una risoluzione 1200x1200?
un foglio di excel lo puoi stampare con risoluzione 300dpi o addirittura come Bozza (bassa qualità) risparmi toner, ottieni una stampa del foglio più veloce e non noterai la differenza da quello stampato normalmente.

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi dottbarbi » 15/06/09 09:05

Innanzitutto un mega grazie a Flash per il tempo dedicato, e sempre e comunque ad Antony.

Sono finalmente riuscito a risolvere il problema e l'intuizione mi è venuta tornando a casa dal lavoro venerdì sera.

Il problema era nella definizione dell'area di stampa del foglio originario (in realtà non mi ero accorto che anche il foglio originario dopo l'anteprima di stampa diventava lentissimo) sul quale veniva eseguita la macro.

Evidentemente (ma non tanto perchè dovrebbe funzionare in altro modo) dato che la definizione dell'area di stampa era stato fatto da un pc con installata un altra stampante, nell'eseguire l'anteprima con un diverso pc questo pur visualizzando correttamente e velocemente le celle interessate dall'area di stampa, continuava ad eseguire chissà quali calcoli (forse ricerca margini, ecc.), così è bastato ridefinire nuovamente l'area di stampa (uguale alla precedente) per far scomparire il problema.

Dato che comunque il rallentamento si verificava solo con i drivers HP, presumo che comunque ci fosse sempre alla base un problema dei drivers suddetti.

X Flash: Ho comunque utilizzato i tuoi suggerimenti per fare una macro molto più leggera della precedente.
dottbarbi
Utente Junior
 
Post: 34
Iscritto il: 22/05/07 16:57

Re: [Excel] Rallentamenti dopo anteprima o stampa dopo macro

Postdi Flash30005 » 15/06/09 12:06

Quindi sarebbe stato sufficiente copiare tutti i fogli e le macro in un nuovo documento ma non avremmo mai conosciuto la causa.
Questa soluzione potrà essere utile per coloro che si imbatteranno nel tuo stesso problema pertanto quoto la sintesi del tuo messaggio.
dottbarbi ha scritto:...
Il problema era nella definizione dell'area di stampa del foglio originario (...anche il foglio originario dopo l'anteprima di stampa diventava lentissimo) sul quale veniva eseguita la macro.
...
così è bastato ridefinire nuovamente l'area di stampa (uguale alla precedente) per far scomparire il problema.
...


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Rallentamenti dopo anteprima o stampa dopo macro":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti