› Excel e gli applicativi Microsoft Office › Problema con funzione "ClearContents"
-
AutoreArticoli
-
Buongiorno,
sull'editor di VBA ho inserito la seguente routine per azzerare i valori riportati nelle celle sbloccate presenti nel foglio, senza dover ripetere il comando per ogni singola cella:
Dim zona As Range
Set zona = Range("A8:R103")
For Each cl In zona
If cl.Locked = False Then cl.ClearContentsL'istruzione funziona, però mi sono accorto che quando lascio aperti più file Excel e attivo la routine, Excel impiega molto più tempo a concludere l'operazione, immagino perché va a leggere anche i dati presenti negli altri fogli di lavoro (anche se comunque, alla fine, "ripulisce" solo i valori presenti nel foglio di lavoro principale).
C'è un modo per ovviare a tale inconveniente, in modo da ridurre il tempo di lavorazione richiesto dalla routine? La soluzione più semplice sarebbe quella di chiudere gli altri file ma vorrei sapere se esista un modo per correggere la routine su VBA senza dovermi così ricordare di chiudere gli altri file....... grazie mille!!
Io proverei a disattivare il ricalcolo automatico, riabilitandolo alla fine della routine.
Inoltre per velocizzare la cancellazione, non farei il ciclo sulle celle sprotette del range: farei una sprotezione del foglio al volo, una cancellazione della zona (qualificata per esteso, per evitare di incidere su zone non pertinenti), e applicherei nuovamente la protezione.
Sub test() Application.Calculation = xlCalculationManual With Workbooks("cartel2").Sheets("Foglio1") .Unprotect .Range("A8:R103").ClearContents .Protect End With Application.Calculation = xlCalculationAutomatic End Sub
Grazie mille per il suggerimento!
però ho un dubbio: siccome nel mio intervallo di riferimento - Range("A8:R103") - ho sia celle sbloccate (da ripulire) che celle bloccate (da non modificare), seguendo la tua routine non rischio di cancellare tutto?
Ho provato adesso a disabilitare esclusivamente il ricalcolo automatico (lasciando inalterata l'altra parte della funzione); la routine adesso è velocissima! Grazie mille per il suggerimento, vecchio frac!
seguendo la tua routine non rischio di cancellare tutto?
E certamente, quindi non utilizzare quel suggerimento 🙂
-
AutoreArticoli