Casa Social media Excel 2016 VBA Speed ​​Tips - dummies

Excel 2016 VBA Speed ​​Tips - dummies

Sommario:

Video: 6 Ways to Speed up your Excel Macros 2025

Video: 6 Ways to Speed up your Excel Macros 2025
Anonim

VBA per Excel 2016 è veloce, ma non sempre è abbastanza veloce. (I programmi per computer non sono mai abbastanza veloci.) Continua a leggere per scoprire alcuni esempi di programmazione che puoi utilizzare per velocizzare i tuoi macronutrienti.

Disattivazione dell'aggiornamento schermo

Quando si esegue una macro, è possibile sedersi e guardare tutte le azioni su schermo che si verificano nella macro. Anche se farlo può essere istruttivo, dopo aver fatto funzionare correttamente la macro, è spesso fastidioso e può rallentare notevolmente le prestazioni della tua macro. Fortunatamente, è possibile disabilitare l'aggiornamento dello schermo che normalmente si verifica quando si esegue una macro. Per disattivare l'aggiornamento dello schermo, utilizzare la seguente dichiarazione:

Applicazione. ScreenUpdating = False

Se vuoi che l'utente veda cosa sta succedendo in qualsiasi momento durante la macro, usa la seguente dichiarazione per riattivare l'aggiornamento dello schermo:

Applicazione. ScreenUpdating = True

Per dimostrare la differenza di velocità, esegui questa semplice macro, che riempie un intervallo con i numeri:

Sub FillRange () Dim r as Long, c As Long Dim Number as Long Number = 0 Per r = Da 1 a 50 Per c = da 1 a 50 Numero = Numero + 1 celle (r, c). Seleziona celle (r, c). Valore = Numero Avanti c Successivo r Fine Sott.

Si vede ogni cella selezionata e il valore inserito nelle celle. Ora inserisci la seguente dichiarazione all'inizio della procedura ed eseguila di nuovo:

Applicazione. ScreenUpdating = False

L'intervallo viene riempito molto più velocemente e non viene visualizzato il risultato fino a quando la macro non è terminata e l'aggiornamento dello schermo è (automaticamente) impostato su True.

Quando esegui il debug del codice, l'esecuzione del programma a volte finisce nel mezzo senza che l'Aggiornamento dello schermo venga riattivato. Ciò a volte fa sì che la finestra dell'applicazione di Excel non risponda completamente. L'uscita da questo stato bloccato è semplice: tornare al VBE ed eseguire la seguente istruzione nella finestra Immediata:

Applicazione. ScreenUpdating = True

Disattivazione del calcolo automatico

Se si dispone di un foglio di lavoro con molte formule complesse, è possibile che sia possibile accelerare notevolmente le cose impostando la modalità di calcolo su manuale mentre la macro è in esecuzione. Al termine della macro, impostare la modalità di calcolo su automatico.

La seguente istruzione imposta la modalità di calcolo Excel su manuale:

Applicazione. Calcolo = xlCalculationManual

Esegue l'istruzione successiva per impostare la modalità di calcolo su automatico:

Applicazione. Calcolo = xlCalculationAutomatic

Se il tuo codice utilizza celle con risultati di formula, disattivando il calcolo significa che le celle non verranno ricalcolate a meno che tu non dica esplicitamente a Excel di farlo!

Eliminazione di quei messaggi di avviso fastidiosi

Come sai, una macro può eseguire automaticamente una serie di azioni. In molti casi, è possibile avviare una macro e quindi uscire nella sala riunioni mentre Excel fa il suo dovere. Alcune operazioni di Excel, tuttavia, visualizzano messaggi che richiedono una risposta umana. Questi tipi di messaggi significano che non puoi lasciare Excel incustodito mentre esegue la tua macro, a meno che tu non conosca il trucco segreto.

È possibile indicare a Excel di non visualizzare questi tipi di avvisi durante l'esecuzione di una macro.

Il trucco segreto per evitare questi messaggi di avviso è l'inserimento della seguente istruzione VBA nella macro:

Applicazione. DisplayAlerts = Falso

Excel esegue l'operazione predefinita per questi tipi di messaggi. In caso di cancellazione di un foglio, l'operazione predefinita è Cancella. Se non sei sicuro di quale sia l'operazione predefinita, esegui un test per vedere cosa succede.

Al termine della procedura, Excel reimposta automaticamente la proprietà DisplayAlerts su True. Se è necessario riattivare gli avvisi prima che la procedura termini, utilizzare questa istruzione:

Applicazione. DisplayAlerts = True

Semplificazione dei riferimenti agli oggetti

Come probabilmente già sapete, i riferimenti agli oggetti possono diventare molto lunghi. Ad esempio, un riferimento completo a un oggetto Range può avere il seguente aspetto:

Cartelle di lavoro ("MyBook. Xlsx"). Fogli di lavoro ("Foglio1") _. Intervallo ("Tasso di interesse")

Se la macro utilizza frequentemente questo intervallo, è possibile creare una variabile oggetto utilizzando il comando Imposta. Ad esempio, la seguente istruzione assegna questo oggetto Range a una variabile oggetto denominata Rate:

Imposta frequenza = cartelle di lavoro ("MyBook. Xlsx") _. Fogli di lavoro (“Sheet1”). Range ("InterestRate")

Dopo aver definito questa variabile oggetto, è possibile utilizzare la variabile Rate piuttosto che il riferimento lungo. Ad esempio, è possibile modificare il valore della cella denominata Tasso di interesse:

Tasso. Valore =. 085

Questo è molto più semplice da scrivere rispetto alla seguente dichiarazione:

Cartelle di lavoro ("MyBook. Xlsx"). Fogli di lavoro (“Sheet1”). _ Range ("InterestRate") =. 085

Oltre a semplificare la codifica, l'uso delle variabili oggetto accelera notevolmente i tuoi macronutrienti.

Dichiarazione dei tipi di variabili

Di solito non devi preoccuparti del tipo di dati che assegni a una variabile. Excel gestisce tutti i dettagli per te dietro le quinte. Ad esempio, se si dispone di una variabile denominata MyVar, è possibile assegnare un numero di qualsiasi tipo a tale variabile. È anche possibile assegnare una stringa di testo ad esso più avanti nella procedura.

Se vuoi che le tue procedure siano eseguite il più velocemente possibile, comunica a Excel quale tipo di dati saranno assegnati a ciascuna delle tue variabili. Questo è noto come che dichiara il tipo di una variabile.

In generale, è necessario utilizzare il tipo di dati che richiede il numero più piccolo di byte, ma può ancora gestire tutti i dati ad esso assegnati. Quando VBA funziona con i dati, la velocità di esecuzione dipende dal numero di byte che VBA ha a sua disposizione. In altre parole, vengono utilizzati meno byte, più velocemente VBA può accedere e manipolare i dati.Un'eccezione a questo è il tipo di dati Integer. Se la velocità è critica, utilizzare invece il tipo di dati lungo.

Se si utilizza una variabile oggetto, è possibile dichiarare la variabile come un particolare tipo di oggetto. Ecco un esempio:

Dim Rate come Range Set Rate = Cartelle di lavoro ("MyBook. Xlsx") _. Fogli di lavoro (“Sheet1”). Intervallo ("Tasso di interesse")

Utilizzo della struttura With End con

È necessario impostare un numero di proprietà per un oggetto? Il tuo codice funziona più velocemente se usi la struttura With-End With. Un ulteriore vantaggio è che il tuo codice potrebbe essere più facile da leggere.

Il seguente codice non usa With-End With:

Selection. HorizontalAlignment = xlCenter Selection. VerticalAlignment = xlCenter Selection. WrapText = True Selection. Orientamento = 0 Selezione. ShrinkToFit = False Selection. MergeCells = False

Ecco lo stesso codice, riscritto per utilizzare With-End With:

With Selection. HorizontalAlignment = xlCenter. VerticalAlignment = xlCenter. WrapText = True. Orientamento = 0. ShrinkToFit = False. MergeCells = False End With

Quando usi With-End With, assicurati che ogni istruzione inizi con un punto.

Excel 2016 VBA Speed ​​Tips - dummies

Scelta dell'editore

HDR Fotografia: Regola le impostazioni in Photomatix Dettagli Enhancer - dummies

HDR Fotografia: Regola le impostazioni in Photomatix Dettagli Enhancer - dummies

Dettagli Enhancer in Photomatix Pro ti consente di toni mappa le tue immagini ad alta gamma dinamica (HDR). Come puoi vedere da questa figura, ci sono un certo numero di controlli. Per fortuna, sono ben organizzati in aree funzionali. Le tre finestre mobili mostrano le impostazioni, l'anteprima dell'immagine e l'istogramma. Forza: controlla la forza di potenziamento del contrasto, sia locale ...

HDR Fotografia - Miscela materiale da fonti alternative - manichini

HDR Fotografia - Miscela materiale da fonti alternative - manichini

Cerca le aree dove potresti aver bisogno per mescolare il materiale da fonti alternative. Ad esempio, se una parte del cielo è saltata fuori, potresti voler sostituire il cielo scoppiato con una versione che è stata mappata in modo diverso in modo che il cielo appaia meglio (ciò che spesso accade è il resto ...

HDR Fotografia: scegli un formato file - dummies

HDR Fotografia: scegli un formato file - dummies

Quando crei un'immagine ad alta gamma dinamica, spesso viene data la possibilità di salvarlo come file HDR per un uso successivo. Se lo si salva come file HDR dipende in parte dalle preferenze e in parte da ciò che si intende fare. Normalmente, salti a destra nella mappatura dei toni, salva il minimo finale ...

Scelta dell'editore

Farmaci Opzioni per gestire la rabbia - manichini

Farmaci Opzioni per gestire la rabbia - manichini

La maggior parte dei programmi di gestione della rabbia non affronta il problema dei farmaci. In parte, probabilmente perché i farmaci non sono in realtà un modo per gestire la tua rabbia. E gli studi sull'efficacia dei farmaci per la rabbia sono stati alquanto incoerenti. Tuttavia, dovresti sapere che i farmaci possono essere un'opzione per alcune persone, specialmente quando altri disturbi emotivi, come ...

Gestione di amici e parenti con intelligenza emotiva - manichini

Gestione di amici e parenti con intelligenza emotiva - manichini

Ecco alcuni modi in cui si praticano tecniche di intelligenza emotiva con amici intimi e i parenti possono aiutarti a disinnescare situazioni difficili ea mantenere relazioni equilibrate e soddisfacenti con i tuoi cari. A partire dal finale le persone a volte interrompono completamente i contatti con parenti e amici e potresti trovarti in una situazione in cui ...

Mini questionario motivazionale - manichini

Mini questionario motivazionale - manichini

Dai un'occhiata al seguente elenco di compiti e decidi se vuoi ottenerne uno. Seleziona le attività che pensi di voler intraprendere: Acquistare una nuova casa Decorare la tua casa Sviluppare uno stile di vita più salutare Ottenere un nuovo lavoro Ottenere una promozione di lavoro Passare gli esami Lavorare per un ...

Scelta dell'editore

Come identificare i trigger di rabbia - dummies

Come identificare i trigger di rabbia - dummies

Conoscere i trigger di rabbia - gli eventi e le situazioni che ti fanno impazzire - è importante perché risponderai in modo più efficace alla tua rabbia quando ti sentirai preparato. Anticipare la possibilità di rabbia aumenta la capacità di esprimerlo in modo più costruttivo. Ecco alcuni trigger di rabbia comuni. Molte persone si sentono ...

Come misurare il tuo stress - manichini

Come misurare il tuo stress - manichini

Riconoscere i sintomi dello stress e quanto spesso si verificano può aiutarti ad affrontare lo stress. Utilizza le due settimane precedenti come periodo di tempo e registra l'occorrenza dei seguenti segni e sintomi fisici ed emotivi di stress. Dopo aver identificato i sintomi dello stress e quanto spesso si verificano, utilizzare la scala di valutazione dello stress per trovare il ...

Come calmare la mente - dummies

Come calmare la mente - dummies

Trovare modi per ridurre i livelli di stress aumenterà la tua felicità. A volte distrarti non è abbastanza per calmare la tua mente. A volte avete bisogno di misure più forti per eliminare, o almeno rallentare, quelle preoccupazioni e preoccupazioni indesiderate e che producono stress. Forse hai una preoccupazione inquietante che ti intrude continuamente nel tuo pensiero e ti impedisce di goderti ...