En aquest tema, aprendrem què són els arrays en VBA, com declarar-los, inicialitzar-los i utilitzar-los en els nostres programes. Els arrays són una eina poderosa que ens permet emmagatzemar múltiples valors en una sola variable, facilitant la manipulació de grans quantitats de dades.

Què és un array?

Un array és una col·lecció de variables del mateix tipus que es poden accedir mitjançant un índex. Els arrays són útils quan necessitem treballar amb una sèrie de valors relacionats, com ara una llista de números o noms.

Declaració d'un array

Per declarar un array en VBA, utilitzem la paraula clau Dim seguida del nom de l'array i la seva mida entre parèntesis. Aquí teniu un exemple:

Dim noms(4) As String

Aquest codi declara un array anomenat noms que pot contenir 5 elements de tipus String (l'índex comença en 0, per tant, els índexs van de 0 a 4).

Inicialització d'un array

Podem inicialitzar un array assignant valors a cadascun dels seus elements. Aquí teniu un exemple:

noms(0) = "Anna"
noms(1) = "Bernat"
noms(2) = "Carla"
noms(3) = "David"
noms(4) = "Eva"

Accés als elements d'un array

Per accedir als elements d'un array, utilitzem l'índex corresponent. Aquí teniu un exemple de com imprimir tots els elements d'un array:

Dim i As Integer
For i = 0 To 4
    Debug.Print noms(i)
Next i

Arrays dinàmics

Els arrays dinàmics ens permeten canviar la mida de l'array durant l'execució del programa. Per declarar un array dinàmic, no especifiquem la mida inicialment:

Dim valors() As Integer

Per redimensionar un array dinàmic, utilitzem la funció ReDim:

ReDim valors(9)

Podem utilitzar l'opció Preserve per mantenir els valors existents quan redimensionem l'array:

ReDim Preserve valors(14)

Exemple pràctic

A continuació, es mostra un exemple complet que utilitza un array per emmagatzemar i processar una sèrie de números:

Sub ExempleArray()
    Dim numeros(4) As Integer
    Dim i As Integer
    Dim suma As Integer
    
    ' Inicialitzar l'array
    numeros(0) = 10
    numeros(1) = 20
    numeros(2) = 30
    numeros(3) = 40
    numeros(4) = 50
    
    ' Calcular la suma dels elements de l'array
    suma = 0
    For i = 0 To 4
        suma = suma + numeros(i)
    Next i
    
    ' Mostrar la suma
    MsgBox "La suma dels elements de l'array és: " & suma
End Sub

Exercicis pràctics

Exercici 1

Declara un array de 5 elements de tipus Double i inicialitza'l amb els valors 1.1, 2.2, 3.3, 4.4 i 5.5. Calcula la mitjana dels valors de l'array i mostra el resultat en un missatge.

Solució

Sub Exercici1()
    Dim valors(4) As Double
    Dim i As Integer
    Dim suma As Double
    Dim mitjana As Double
    
    ' Inicialitzar l'array
    valors(0) = 1.1
    valors(1) = 2.2
    valors(2) = 3.3
    valors(3) = 4.4
    valors(4) = 5.5
    
    ' Calcular la suma dels elements de l'array
    suma = 0
    For i = 0 To 4
        suma = suma + valors(i)
    Next i
    
    ' Calcular la mitjana
    mitjana = suma / 5
    
    ' Mostrar la mitjana
    MsgBox "La mitjana dels valors de l'array és: " & mitjana
End Sub

Exercici 2

Declara un array dinàmic de tipus String i redimensiona'l per contenir 3 elements. Inicialitza l'array amb els noms "Joan", "Maria" i "Pere". Afegeix un quart nom "Laura" mantenint els valors existents.

Solució

Sub Exercici2()
    Dim noms() As String
    
    ' Redimensionar l'array per contenir 3 elements
    ReDim noms(2)
    
    ' Inicialitzar l'array
    noms(0) = "Joan"
    noms(1) = "Maria"
    noms(2) = "Pere"
    
    ' Redimensionar l'array per afegir un quart element
    ReDim Preserve noms(3)
    noms(3) = "Laura"
    
    ' Mostrar els noms
    Dim i As Integer
    For i = 0 To 3
        Debug.Print noms(i)
    Next i
End Sub

Conclusió

En aquest tema, hem après què són els arrays, com declarar-los, inicialitzar-los i utilitzar-los en VBA. També hem vist com treballar amb arrays dinàmics i hem practicat amb alguns exercicis. Els arrays són una eina fonamental en la programació que ens permet gestionar col·leccions de dades de manera eficient. En el proper tema, explorarem com treballar amb el model d'objectes d'Excel per manipular llibres i fulls de càlcul.

© Copyright 2024. Tots els drets reservats