Sblocca il Potere degli Array in VBA

Array in VBA: Potenzia le Tue Macro

La tua SCUOLA DI EXCEL

Centinaia di Trucchi e Suggerimenti per le tue necessità quotidiane

Il tuo Corso di Excel VBA. Le prime 4 lezioni GRATIS

LINK UTILI

ExcelMinds

Non lasciare che le nostre mail finiscano nella cartella dello SPAM
Aggiungi l’indirizzo del mittente ai tuoi contatti

CITAZIONE DELLA SETTIMANA

Chiunque smetta di imparare è un vecchio, che abbia 20 anni o 80. Chi continua ad imparare, giorno dopo giorno, resta giovane.

Henry Ford

CONTENUTI AREA PREMIUM

Attualmente l’AREA PREMIUM include i seguenti contenuti:

  • 168 Tips and Tricks

  • 91 Formule avanzate spiegate passo-passo

  • 12 Templates pronti all’uso

  • 651 Esempi di Codice VBA e macro su casi reali

  • 34 Brevi Tutorial VBA

Ti ricordo lo sconto del 10% 

sull’abbonamento all’AREA PREMIUM*

(codice sconto NEWS10)

*Valido anche per l’Abbonamento Annuale, già notevolmente scontato

Ciao ExcelMinder,

stiamo pensando di organizzare dei corsi su Microsoft Excel fuori dall’orario lavorativo e la tua opinione è preziosa per noi. Ti chiediamo di dedicare pochi secondi per rispondere a questo sondaggio (due sole domande) e aiutarci ad organizzarli al meglio.

Viste le richieste finora pervenute, il primo corso che verrà organizzato sarà quello di

Excel Avanzato

Il corso avrà inizio il giorno mercoledì 15 gennaio 2025 alle ore 18:00. Le lezioni, della durata di 2 ore, avranno cadenza settimanale.

Se ti prenoterai entro il 31/12/2024, utilizzando il codice promozionale

 AVANZATO15

otterrai uno sconto del 15%.

Gli Array in VBA

Finora abbiamo parlato di molti argomenti relativi a VBA, inclusi le istruzioni IF THEN per eseguire operazioni condizionali e i cicli For per automatizzare attività ripetitive.

Queste sono competenze di base, ma l’argomento di oggi è più avanzato e altrettanto affascinante. Stiamo parlando degli Array: uno degli strumenti più potenti e meno compresi in VBA. Imparare a usarli bene ti distinguerà dagli altri sviluppatori VBA.

Cosa Sono gli Array in VBA?

Gli Array sono strutture che permettono di archiviare liste di dati dello stesso tipo. Aiutano a mantenere il codice organizzato e conciso. Se utilizzati correttamente, possono anche accelerare notevolmente le tue macro.

Gli Array si dividono in due tipi principali:

  • Statici: contengono un numero fisso di elementi.

  • Dinamici: possono essere modificati in fase di esecuzione per aggiungere o rimuovere elementi.

Vediamo alcuni esempi per chiarire questi concetti.

Dichiarare un Array Statico

Un Array statico definisce il numero di elementi al momento della sua inizializzazione. Ecco un esempio:

Dim arr(0 To 2) As String

Questa dichiarazione crea un Array con tre elementi (0, 1, 2). Una volta eseguita la macro, non è più possibile modificarne la dimensione.

Popolare un Array Statico

Supponiamo di voler memorizzare una lista di animali in un Array. Dopo aver dichiarato l'Array, possiamo popolarlo elemento per elemento:

arr(0) = "Mucca"
arr(1) = "Cavallo"
arr(2) = "Pecora"

Dichiarare un Array Dinamico

Un Array dinamico, invece, può essere ridimensionato durante l'esecuzione della macro. Per dichiararne uno, usa uno di questi esempi:

Dim arr() As Double

oppure

Dim arr As Variant

Per cambiare la dimensione di un Array dinamico, utilizza la parola chiave ReDim:

ReDim arr(0 To 5) As Double

Attenzione: il comando ReDim elimina i dati già presenti nell'Array. Per conservarli, usa la parola chiave Preserve:

ReDim Preserve arr(0 To 10) As Double

Il termine "Preserve" serve appunto per preservare i dati già memorizzati.

CONTINUA »

Excel VBA Masterclass

Vuoi imparare a sfruttare al massimo il potenziale di Excel?

Il corso di VBA per Excel che ti presentiamo ti insegnerà come automatizzare le tue attività lavorative e risparmiare tempo prezioso. Imparerai a creare strumenti di lavoro personalizzati e adattati alle tue esigenze, grazie alle funzionalità avanzate di Excel.

VBA Masterclass è un corso a dispense con rilascio settimanale.

Al momento è composta da 52 dispense per oltre 1.800 pagine, ma contiamo di implementarlo ancora. Ogni settimana al partecipante vengono rilasciate una o più dispense accompagnate da alcuni file di supporto.

Inoltre, sempre ogni settimana, il partecipante potrà cimentarsi in un breve test per verificare la comprensione dei concetti illustrati nelle dispense.

13 di queste 52 dispense sono per così dire "riepilogative": propongono un ripasso di alcuni argomenti trattati nelle dispense precedenti in quanto questi concetti vengono utilizzati per creare delle applicazioni. Tali progetti pratici sono completamente guidati.

Al termine del percorso, il partecipante potrà cimentarsi in un vero e proprio esame finale il cui superamento permette il download dell'attestato formativo. Il percorso completo, al momento, dura 43 settimane.

È chiaro che sarebbe impossibile ottenere la stessa mole di informazioni con un corso live tradizionale. Probabilmente occorrerebbero più di 100 ore di formazione.

Le prime 4 lezioni GRATIS!

Non lasciarti sfuggire questa opportunità unica di diventare un vero maestro di Excel VBA!

Al momento il corso include:

  • 52 dispense

  • 1.839 pagine

  • oltre 350 immagini esplicative

  • oltre 360 snippet di codice VBA

  • 13 progetti pratici completamente guidati

  • 112 file Excel scaricabili con il codice e/o i programmi illustrati nelle dispense

  • 52 momenti di esercitazione e di test

Popolare un Array Dinamico

Per aggiungere elementi a un Array dinamico, hai diverse opzioni. Puoi inserirli uno per uno come negli Array statici, oppure utilizzare la funzione Array, che funziona solo se l'Array è dichiarato come Variant:

Dim arr As Variant
arr = Array(1.5, 3.0, 4.5)

In alternativa, puoi creare velocemente un Array di stringhe utilizzando la funzione Split:

Dim arr() As String
arr = Split("Mucca,Cavallo,Pecora", ",")

La funzione Split accetta due argomenti:

  1. La stringa da dividere.

  2. Il carattere da usare come delimitatore (in questo caso, una virgola).

Ad esempio:

  • Il primo elemento (arr(0)) sarà "Mucca".

  • Il secondo elemento (arr(1)) sarà "Cavallo".

  • Il terzo elemento (arr(2)) sarà "Pecora".

Iterare Attraverso un Array

Per accedere agli elementi di un Array, puoi usare i cicli For combinati con le funzioni LBound (limite inferiore) e UBound (limite superiore):

For i = LBound(arr) To UBound(arr)
    Debug.Print arr(i) ' Stampa ogni voce nella Finestra Immediata
Next i

La funzione Debug.Print visualizza i dati nella Finestra Immediata di VBA. Puoi aprirla premendo Ctrl+G nell'Editor di Visual Basic.

Esplora le Possibilità degli Array

Ti ho mostrato molto, ma c'è ancora tanto da scoprire sugli Array in VBA. Sai come ordinarli, filtrarli o trovare un elemento specifico? Queste abilità avanzate ti permetteranno di trasformare le tue macro in strumenti ancora più potenti.

Gli Array possono sembrare complicati all'inizio, ma è proprio la loro padronanza che distingue un principiante da un esperto. Nei prossimi giorni, condividerò risorse utili per approfondire ulteriormente gli Array e altri argomenti avanzati di VBA.

Continua a studiare e metterti alla prova. Sfida te stesso a diventare un programmatore migliore!

Arrivederci a presto!

Simone (aka Somebooks)
Excel Academy

Informazioni sull'iscrizione alla newsletter: la newsletter di Excel Academy verrà recapitata solo a chi si è iscritto. Se ti è stata inoltrata e in futuro vuoi avere la tua copia, ti invitiamo a visitare questa pagina ed iscriverti.

Se desideri condividere questa newsletter con altri:

  1. Inoltra questa newsletter via e-mail, ma prima elimina il link per la cancellazione in fondo, in modo da non essere accidentalmente cancellato

  2. Chiedi al tuo amico/collega di visitare Excel Academy 

  3. Inserisci un link al sito di Excel Academy nella newsletter aziendale o nel tuo sito web.