Condividi:        

velocizzare una 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

velocizzare una macro

Postdi raimea » 08/02/21 08:59

ciao

ho una macro che ho creato io con il registratore
e un po’ di cio' che conosco , e’ molto “grezza”, ma funziona.

solo che ora , che deve controllare un certo numero di righe
e’ diventata un po lenta.

vorrei riuscire a velocizzarla.

e’ la macro in mod1 >>> xValori
lo scopo principale e sostituire il punto con la virgola
ai valori delle colonne G,H,I
e mettere il formato € in rosso se negativi
partendo da riga 7

vi allego il file
https://www.dropbox.com/s/4yrbshm68lottcg/velocizzare_2.rar?dl=0

Grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1428
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: velocizzare una macro

Postdi Marius44 » 08/02/21 09:38

Ciao
Prova a mettere all'inizio della macro: Application.ScreenUpdating = False
e alla fine, prima di End Sub, Application.ScreenUpdating = True

Ciao,
Mario
Marius44
Utente Senior
 
Post: 658
Iscritto il: 07/09/15 22:00

Re: velocizzare una macro

Postdi raimea » 08/02/21 09:52

ciao
ho provato ma rimane lenta
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1428
Iscritto il: 11/02/10 07:33
Località: lago

Re: velocizzare una macro

Postdi Anthony47 » 08/02/21 12:26

A me sembra che la lentezza stia tutta in quel primo blocco:
Codice: Seleziona tutto
'---------------------------------------
' tolgo punto e sostituisco con virgola
'----------------------------------------
For Each cel In Range("g8:i2000")
    cel.FormulaR1C1 = cel.Value
Next

Non so come sono i tuoi dati di partenza, ma prova con questa variante:
Codice: Seleziona tutto
'---------------------------------------
' tolgo punto e sostituisco con virgola
'----------------------------------------
'For Each cel In Range("g8:i2000")
'    cel.FormulaR1C1 = cel.Value
'Next
Range("J7").ClearContents
Range("J7").Copy
Range("g8:i2000").PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
'----metto formato € rosso--------------------
'etc etc
Il codice di partenza e' stato "commentato", se così funziona puoi cancellarle definitivamente.

Se invece così ci sono dei problemi allora prova a pubblicare il file col contenuto originario del foglio DIARIO per provare altre soluzioni

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

Re: velocizzare una macro

Postdi raimea » 08/02/21 13:15

ciao

siiii.. :D

ora e molto piu veloce
svolge il lavoro in tempi accettabili

grazie

ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1428
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "velocizzare una macro":


Chi c’è in linea

Visitano il forum: Nessuno e 30 ospiti