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

Vantaggi di base della rete - manichini

Vantaggi di base della rete - manichini

Se la verità viene detta, le reti di computer sono un problema da impostare. Perché i vantaggi di avere una rete rendono la pena di crearne uno utile. Non è necessario essere un dottorato di ricerca per comprendere i vantaggi del networking. Le reti riguardano esclusivamente la condivisione. Nello specifico, le reti riguardano la condivisione di tre elementi: informazioni, risorse, ...

Biometria L'accettazione, la privacy e la legge - manichini

Biometria L'accettazione, la privacy e la legge - manichini

La tecnologia biometrica non è affatto universalmente accettata da tutti gli utenti. Ci sono una serie di considerazioni sociali e legali che danno ad ogni organizzazione una pausa prima di fare il salto a capofitto nell'implementazione di un sistema biometrico. Le persone sono più a loro agio con i sistemi di raccolta biometrici che sono i meno intrusivi. Scanner per retina e nasi elettronici sono ...

Biometria Nozioni di base - manichini

Biometria Nozioni di base - manichini

La biometria non è roba da fantascienza. Puoi trovare una dozzina di modi più o meno efficaci per utilizzare la biometria per identificare qualcuno, ognuno dei quali si divide in due classi: la biometria fisiologica misura una parte specifica della struttura o della forma di una porzione del corpo di un soggetto. La biometria comportamentale è più interessata a come ...

Scelta dell'editore

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

Come creare un nuovo dizionario personalizzato in Excel 2007 - dummies

In Excel 2007, è possibile creare dizionari personalizzati da utilizzare quando si esegue il controllo ortografico dei fogli di lavoro. Utilizzare il pulsante Aggiungi al dizionario nella finestra di dialogo Controllo ortografico per aggiungere parole sconosciute a un dizionario personalizzato. Per impostazione predefinita, Excel aggiunge queste parole a un file dizionario personalizzato denominato CUSTOM. DIC, ma è possibile creare una nuova personalizzazione ...

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Come creare un componente aggiuntivo da un file di cartella di lavoro Excel Excel normale in VBA - modi di dire

Sebbene sia possibile convertire qualsiasi cartella di lavoro di Excel in un componente aggiuntivo, non tutte le cartelle di lavoro traggono vantaggio da questa conversione. Una cartella di lavoro senza macro rende un componente aggiuntivo inutile. In effetti, gli unici tipi di cartelle di lavoro che traggono vantaggio dall'essere convertiti in un componente aggiuntivo sono quelli con macro. Ad esempio, una cartella di lavoro costituita da macro generiche (Sub ...

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Come creare una nuova cartella di lavoro in Excel 2010 - dummy

Se si lavora in Microsoft Excel 2010 e vuoi iniziare a lavorare in un nuovo file di cartella di lavoro di Excel, puoi facilmente creare una nuova cartella di lavoro. Per fare ciò, puoi usare un comando nella scheda File o una scorciatoia da tastiera. Fare clic sulla scheda File. Excel visualizza la visualizzazione Backstage, in cui è possibile accedere ai comandi relativi ai file. ...

Scelta dell'editore

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Usa lo strumento Gomma in Adobe Illustrator CS5 - manichini

Adobe Illustrator Creative Suite 5 (Adobe CS5) Illustrator è utilizzato per rimuovere rapidamente aree di grafica con la stessa facilità con cui si cancellano i pixel in Photoshop, accarezzando con il mouse su qualsiasi forma o gruppo di forme. Facendo doppio clic sullo strumento Gomma, è possibile definire il diametro, l'angolo e la rotondità della gomma. Se stai usando un ...

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

Trasforma gli strumenti in Adobe Illustrator CS5 - dummies

I più popolari strumenti di trasformazione in Adobe Creative Suite 5 (Adobe CS5) Illustrator - Rifletti, scala, inclina, rimodella e Trasformazione libera: sono facili da usare e modificano rapidamente la tua illustrazione. Lo strumento Rifletti Niente è simmetrico, giusto? Forse no, ma gli oggetti non creati simmetricamente in Illustrator possono sembrare off-kilter. Utilizzando lo strumento Rifletti, si ...

Quando utilizzare Adobe CS5 Illustrator - dummies

Quando utilizzare Adobe CS5 Illustrator - dummies

Utilizzando Adobe Creative Suite 5 (Adobe CS5) Illustrator anziché Photoshop , ottieni diversi benefici. Potresti aver sentito che Illustrator è migliore per la grafica vettoriale, ma perché e che altro porta? Illustrator può salvare ed esportare immagini nella maggior parte dei formati di file. Scegliendo di salvare o esportare, è possibile creare un ...