Smartsheet 9.1.1
Smartsheet è una piattaforma di lavoro dinamica che ti consente di gestire progetti, creare flussi di lavoro e collaborare con il tuo team.
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 le tue macro.
Quando si esegue una macro, è possibile sedersi e guardare tutte le azioni su schermo che si verificano nella macro. Sebbene ciò possa essere istruttivo, dopo aver fatto funzionare correttamente la macro, è spesso fastidioso e può rallentare considerevolmente le prestazioni della macro. Fortunatamente, puoi disabilitare l'aggiornamento dello schermo che normalmente si verifica quando esegui una macro. Per disattivare l'aggiornamento dello schermo, utilizza la seguente dichiarazione:
Application.ScreenUpdating = False
Se vuoi che l'utente veda cosa sta succedendo in qualsiasi momento durante la macro, usa la seguente istruzione per riattivare l'aggiornamento dello schermo:
Application.ScreenUpdating = True
Per dimostrare la differenza di velocità, esegui questa semplice macro, che riempie un intervallo di numeri:
Intervallo di riempimento secondario() Dim r come lungo, c come lungo Dim Numero come lungo Numero = 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 Avanti r Fine sottotitolo
Vedi ogni cella selezionata e il valore inserito nelle celle. Ora inserisci la seguente istruzione all'inizio della procedura ed eseguila nuovamente:
Application.ScreenUpdating = False
L'intervallo viene riempito molto più velocemente e non vedrai il risultato finché la macro non sarà terminata e l'aggiornamento dello schermo non sarà (automaticamente) impostato su True.
Quando esegui il debug del codice, l'esecuzione del programma a volte termina da qualche parte nel mezzo senza che tu abbia riattivato l'aggiornamento dello schermo. Questo a volte fa sì che la finestra dell'applicazione di Excel non risponda completamente. La via d'uscita da questo stato congelato è semplice: torna al VBE ed esegui la seguente istruzione nella finestra Immediata:
Application.ScreenUpdating = True
Se hai un foglio di lavoro con molte formule complesse, potresti scoprire che puoi velocizzare notevolmente le cose impostando la modalità di calcolo su manuale mentre la tua macro è in esecuzione. Al termine della macro, riportare la modalità di calcolo su automatico.
La seguente istruzione imposta la modalità di calcolo di Excel su manuale:
Application.Calculation = xlCalculationManual
Eseguire l'istruzione successiva per impostare la modalità di calcolo su automatico:
Applicazione.Calcolo = xlCalcoloAutomatico
Se il tuo codice utilizza celle con risultati di formule, disattivare il calcolo significa che le celle non verranno ricalcolate a meno che tu non dica esplicitamente a Excel di farlo!
Come sai, una macro può eseguire automaticamente una serie di azioni. In molti casi, puoi avviare una macro e poi uscire nella stanza delle pause mentre Excel fa le sue cose. 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.
Puoi 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 è inserire la seguente istruzione VBA nella macro:
Application.DisplayAlerts = False
Excel esegue l'operazione predefinita per questi tipi di messaggi. In caso di eliminazione di un foglio, l'operazione predefinita è Elimina. 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 hai bisogno di riattivare gli avvisi prima che la procedura termini, usa questa dichiarazione:
Application.DisplayAlerts = True
Come probabilmente già saprai, i riferimenti agli oggetti possono diventare molto lunghi. Ad esempio, un riferimento completo a un oggetto Range potrebbe avere il seguente aspetto:
Cartelle di lavoro(“MyBook.xlsx”).Fogli di lavoro(“Foglio1”) _ .Intervallo ("Tasso di interesse")
Se la tua macro utilizza spesso questo intervallo, potresti voler creare una variabile oggetto utilizzando il comando Imposta. Ad esempio, la seguente istruzione assegna questo oggetto Range a una variabile oggetto denominata Rate:
Imposta tasso = Cartelle di lavoro ("MyBook.xlsx") _ .Fogli di lavoro(“Foglio1”).Intervallo(“Tasso di interesse”)
Dopo aver definito questa variabile oggetto, è possibile utilizzare la variabile Tasso anziché il lungo riferimento. Ad esempio, puoi modificare il valore della cella denominata InterestRate:
Tasso.Valore = .085
Questo è molto più facile da digitare rispetto alla seguente dichiarazione:
Cartelle di lavoro ("MyBook.xlsx"). Fogli di lavoro ("Foglio1"). _ Intervallo ("Tasso di interesse") = .085
Oltre a semplificare la codifica, l'utilizzo di variabili oggetto velocizza notevolmente le macro.
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 a tale variabile un numero di qualsiasi tipo. Puoi anche assegnargli una stringa di testo più avanti nella procedura.
Se vuoi che le tue procedure vengano eseguite il più velocemente possibile, indica a Excel quale tipo di dati verrà assegnato a ciascuna delle tue variabili. Questo è noto come dichiarazione del tipo di una variabile.
In generale, dovresti usare il tipo di dati che richiede il minor numero di byte ma può comunque gestire tutti i dati ad esso assegnati. Quando VBA lavora con i dati, la velocità di esecuzione dipende dal numero di byte che VBA ha a sua disposizione. In altre parole, minore è il numero di byte utilizzati dai dati, più veloce sarà l'accesso e la manipolazione dei dati da parte di VBA. Un'eccezione a ciò è il tipo di dati Integer. Se la velocità è critica, utilizzare invece il tipo di dati Long.
Se usi una variabile oggetto, puoi dichiarare la variabile come un particolare tipo di oggetto. Ecco un esempio:
Dim Rate come intervallo Imposta tasso = Cartelle di lavoro ("MyBook.xlsx") _ .Fogli di lavoro(“Foglio1”).Intervallo(“Tasso di interesse”)
Hai bisogno di impostare un numero di proprietà per un oggetto? Il tuo codice viene eseguito più velocemente se utilizzi la struttura With-End With. Un ulteriore vantaggio è che il tuo codice potrebbe essere più facile da leggere.
Il codice seguente non utilizza With-End With:
Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Selection.WrapText = True Selezione.Orientamento = 0 Selection.ShrinkToFit = False Selection.MergeCells = False
Ecco lo stesso codice, riscritto per usare With-End With:
Con selezione .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True .Orientamento = 0 .ShrinkToFit = False .MergeCells = False Termina con
Quando usi With-End With, assicurati che ogni affermazione inizi con un punto.
Smartsheet è una piattaforma di lavoro dinamica che ti consente di gestire progetti, creare flussi di lavoro e collaborare con il tuo team.
SharePoint è un sistema di collaborazione basato sul Web che utilizza una varietà di applicazioni per flussi di lavoro, database di "elenco" e altri componenti Web, nonché funzionalità di sicurezza per fornire controllo ai gruppi aziendali che lavorano insieme.
Van Nien Calendar è un'applicazione per la visualizzazione del calendario sul tuo telefono, che ti aiuta a vedere rapidamente la data lunisolare sul tuo telefono, organizzando così il tuo lavoro importante.
Microsoft Outlook è un'applicazione aziendale e di produttività sviluppata da Microsoft Corporation.
ClickUp è una delle piattaforme di produttività più apprezzate per qualsiasi azienda. Grandi aziende come Google, Booking.com, San Diego Padres e Uber utilizzano ClickUp per aumentare la produttività sul posto di lavoro.
Il PDF è diventato un formato comunemente utilizzato per leggere, creare e inviare documenti di testo. A sua volta, c'è stato un aumento del numero di programmi utilizzati per questo tipo di documentazione. PDF-XChange Viewer fa parte di un numero crescente di visualizzatori PDF.
Apache OpenOffice offre una suite completa di applicazioni Office che rivaleggiano con Microsoft 365, in particolare in Excel, PowerPoint e Word. Ti consente di gestire i tuoi progetti in modo più efficace e supporta diversi formati di file.
Il software iTaxViewer è il software di lettura di file XML più popolare oggi. Questo software è un'applicazione per la lettura delle dichiarazioni fiscali elettroniche in formato XML del Dipartimento Generale delle Imposte.
Nitro PDF Reader è un pratico editor PDF che copre tutte le attività di base che la maggior parte delle persone esegue ogni giorno con i documenti PDF.
Foxit Reader è principalmente un lettore PDF e consente anche di creare file PDF, firmarli, modificarli e aggiungere annotazioni. Funziona su sistemi operativi, ci sono plugin per vari programmi del pacchetto Microsoft Office.