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:
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:
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:
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:
Per redimensionar un array dinàmic, utilitzem la funció ReDim:
Podem utilitzar l'opció Preserve per mantenir els valors existents quan redimensionem l'array:
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 SubExercicis 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 SubExercici 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 SubConclusió
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.
Curs de VBA (Visual Basic for Applications)
Mòdul 1: Introducció a VBA
Mòdul 2: Conceptes bàsics de VBA
- Variables i tipus de dades
- Operadors en VBA
- Estructures de control: If...Then...Else
- Bucles: For, While, Do Until
- Treballar amb arrays
Mòdul 3: Treballar amb objectes d'Excel
- Comprendre el model d'objectes d'Excel
- Treballar amb llibres i fulls de càlcul
- Manipulació de cel·les i rangs
- Utilitzar l'objecte Range
- Formatar cel·les amb VBA
Mòdul 4: Programació avançada en VBA
- Crear i utilitzar funcions
- Gestió d'errors en VBA
- Tècniques de depuració
- Treballar amb UserForms
- Programació basada en esdeveniments
Mòdul 5: Interactuar amb altres aplicacions
- Automatitzar Word amb VBA
- Automatitzar Outlook amb VBA
- Accedir a bases de dades amb VBA
- Utilitzar VBA per controlar PowerPoint
Mòdul 6: Millors pràctiques i optimització
- Escriure codi VBA eficient
- Tècniques de refactorització de codi
- Documentar el teu codi
- Control de versions per a projectes VBA
