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.
Il tipo più semplice di ciclo nella programmazione VBA di Excel è un ciclo For-Next. Il ciclo è controllato da una variabile contatore, che inizia a un valore e si ferma a un altro valore. Le istruzioni tra l'istruzione For e l'istruzione Next sono le istruzioni che vengono ripetute nel ciclo.
L'esempio seguente usa un ciclo For-Next per sommare i primi 1.000 numeri positivi. La variabile Total inizia da zero. Quindi si verifica il ciclo. La variabile Cnt è il contatore di loop. Inizia come 1 e viene incrementato di 1 ogni volta attraverso il ciclo. Il ciclo termina quando Cnt è 1.000.
Questo esempio ha solo un'istruzione all'interno del ciclo. Questa istruzione aggiunge il valore di Cnt alla variabile Total. Al termine del ciclo, un MsgBox visualizza la somma dei numeri.
Sub AggiungiNumeri() Dim totale come doppio Dim Cnt As Long Totale = 0 Per Cnt = da 1 a 1000 Totale = Totale + Cnt Avanti Cnt MsgBox Total Fine sottotitolo
Poiché il contatore del ciclo è una variabile normale, è possibile scrivere codice per modificarne il valore all'interno del blocco di codice tra le istruzioni For e Next. Questa, tuttavia, è una pessima pratica.
È possibile utilizzare un valore Step per saltare alcuni valori del contatore in un ciclo For-Next. Ecco l'esempio precedente, riscritto per sommare solo i numeri dispari tra 1 e 1.000:
Sub AggiungiNumeriDispari() Dim totale come doppio Dim Cnt As Long Totale = 0 Per Cnt = da 1 a 1000 Passaggio 2 Totale = Totale + Cnt Avanti Cnt MsgBox Total Fine sottotitolo
Questa volta, Cnt inizia come 1 e poi assume i valori di 3, 5, 7 e così via. Il valore Step determina come viene incrementato il contatore. Si noti che il valore del ciclo superiore (1000) non viene effettivamente utilizzato perché il valore più alto di Cnt sarà 999.
Ecco un altro esempio che utilizza un valore Step di 3. Questa procedura funziona con il foglio attivo e applica un'ombreggiatura grigio chiaro a ogni terza riga, dalla riga 1 alla riga 100.
Sub ShadeEveryThirdRow() Dim I As Long Per i = da 1 a 100 Passaggio 3 Righe(i).Interno.Colore = RGB(200, 200, 200) Avanti io Fine sottotitolo
Controlla il risultato dell'esecuzione di questa macro.
Utilizzo di un ciclo per applicare l'ombreggiatura dello sfondo alle righe.
Un ciclo For-Next può anche includere una o più istruzioni Exit For all'interno del ciclo. Quando VBA incontra questa istruzione, il ciclo termina immediatamente.
L'esempio seguente mostra l'istruzione Exit For. Questa routine è una procedura Function, destinata ad essere utilizzata in una formula del foglio di lavoro. La funzione accetta un argomento (una variabile denominata Str) e restituisce i caratteri a sinistra della prima cifra numerica. Ad esempio, se l'argomento è "KBR98Z", la funzione restituisce "KBR".
Funzione TextPart(Str) Dim I As Long TextPart = "" Per i = 1 a Len(Str) If IsNumeric(Mid(Str, i, 1)) Then Esci per Altro TextPart = TextPart & Mid(Str, i, 1) Finisci se Avanti io Fine funzione
Il ciclo For-Next inizia con 1 e termina con il numero che rappresenta il numero di caratteri nella stringa. Il codice utilizza la funzione Mid di VBA per estrarre un singolo carattere all'interno del ciclo. Se viene trovato un carattere numerico, viene eseguita l'istruzione Exit For e il ciclo termina prematuramente.
If the character is not numeric, it is appended to the returned value (which is the same as the function’s name). The only time the loop will examine every character is if the string passed as the argument contains no numeric characters.
You can have any number of statements in the loop and nest For-Next loops inside other For-Next loops.
The following example uses a nested For-Next loop to insert random numbers into a 12-row-by-5-column range of cells. Notice that the routine executes the inner loop (the loop with the Row counter) once for each iteration of the outer loop (the loop with the Col counter). In other words, the routine executes the Cells(Row, Col) = Rnd statement 60 times.
These cells were filled by using a nested For-Next loop.
Sub FillRange() Dim Col As Long Dim Row quanto più a lungo Per Col = da 1 a 5 Per riga = da 1 a 12 Celle(Riga, Col) = Rnd Riga successiva Colpo successivo Fine sottotitolo
Il prossimo esempio usa cicli For-Next annidati per inizializzare un array tridimensionale con il valore 100. Questa routine esegue l'istruzione nel mezzo di tutti i cicli (l'istruzione di assegnazione) 1.000 volte (10 * 10 * 10), ogni volta con una diversa combinazione di valori per i, j e k:
Sub NestedLoops() Dim MyArray(10, 10, 10) Dim I As Long Dim j As Long Dim k As Long Per i = da 1 a 10 Per j = da 1 a 10 Per k = da 1 a 10 MyArray(i, j, k) = 100 Successivo k Avanti j Avanti io 'Altre dichiarazioni vanno qui Fine sottotitolo
Ecco un esempio finale che utilizza cicli For-Next annidati, con un valore Step. Questa procedura crea una scacchiera cambiando il colore di sfondo delle celle alternate.
Utilizzo di loop per creare un motivo a scacchiera.
Il contatore Row esegue un ciclo da 1 a 8. Un costrutto If-Then determina quale struttura For-Next nidificata utilizzare. Per le righe dispari, il contatore Col inizia con 2. Per le righe pari, il contatore Col inizia con 1. Entrambi i cicli utilizzano un valore Step di 2, quindi le celle alternative sono interessate. Due istruzioni aggiuntive rendono le celle quadrate (proprio come una vera scacchiera).
Sub MakeCheckerboard() Dim R tanto lungo, C quanto lungo Per R = da 1 a 8 Se WorksheetFunction.IsOdd(R) Then Per C = da 2 a 8 Passaggio 2 Celle(R, C).Interno.Colore = 255 Avanti C Altro Per C = da 1 a 8 Passaggio 2 Celle(R, C).Interno.Colore = 255 Avanti C Finisci se Successivo R Righe(“1:8”).RowHeight = 35 Colonne("A:H").ColumnWidth = 6.5 Fine sottotitolo
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.