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 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.
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