Introducció

En aquest tema, aprendrem a editar macros utilitzant Visual Basic for Applications (VBA). Les macros són seqüències d'instruccions que automatitzen tasques repetitives a Excel. Quan gravem una macro, Excel genera codi VBA que podem editar per personalitzar i millorar la funcionalitat de la macro.

Objectius

  • Entendre la interfície de l'Editor de VBA.
  • Aprendre a editar codi VBA per personalitzar macros.
  • Conèixer les estructures bàsiques de programació en VBA.
  • Practicar amb exemples pràctics d'edició de macros.

  1. Introducció a l'Editor de VBA

Accedir a l'Editor de VBA

  1. Obre Excel i ves a la pestanya Desenvolupador. Si no veus aquesta pestanya, hauràs d'activar-la des de les opcions d'Excel.
  2. Fes clic a Visual Basic per obrir l'Editor de VBA.

Components de l'Editor de VBA

  • Explorador de Projectes: Mostra tots els llibres de treball i fulls de càlcul oberts.
  • Finestra de Codi: Aquí és on escrivim i editem el codi VBA.
  • Finestra de Propietats: Mostra les propietats dels objectes seleccionats.

  1. Estructura Bàsica d'una Macro

Quan gravem una macro, Excel genera codi VBA similar al següent:

Sub NomDeLaMacro()
    ' Codi generat per la macro
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Hola, món!"
End Sub

Explicació del Codi

  • Sub NomDeLaMacro(): Defineix l'inici de la macro amb el nom especificat.
  • ' Codi generat per la macro: Comentari que no s'executa.
  • Range("A1").Select: Selecciona la cel·la A1.
  • ActiveCell.FormulaR1C1 = "Hola, món!": Insereix el text "Hola, món!" a la cel·la seleccionada.
  • End Sub: Indica el final de la macro.

  1. Editar una Macro

Exemple Pràctic

Suposem que tenim la següent macro gravada:

Sub Salutacio()
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Hola, món!"
End Sub

Personalitzar la Macro

Volem modificar la macro perquè insereixi el text "Hola, Excel!" a la cel·la B2 en lloc de la cel·la A1.

Sub Salutacio()
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "Hola, Excel!"
End Sub

Afegir Més Funcionalitat

Podem afegir més instruccions per fer la macro més útil. Per exemple, podem canviar el color de la cel·la B2 a groc:

Sub Salutacio()
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "Hola, Excel!"
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535 ' Color groc
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

  1. Estructures Bàsiques de Programació en VBA

Variables

Les variables s'utilitzen per emmagatzemar dades temporals.

Dim missatge As String
missatge = "Hola, Excel!"
Range("B2").Value = missatge

Bucles

Els bucles permeten repetir una sèrie d'instruccions.

Dim i As Integer
For i = 1 To 10
    Cells(i, 1).Value = "Fila " & i
Next i

Condicionals

Els condicionals permeten executar codi basat en certes condicions.

Dim valor As Integer
valor = Range("A1").Value
If valor > 10 Then
    MsgBox "El valor és major que 10"
Else
    MsgBox "El valor és 10 o menor"
End If

Exercicis Pràctics

Exercici 1: Modificar una Macro

  1. Grava una macro que insereixi el text "Benvingut" a la cel·la C3.
  2. Edita la macro perquè insereixi el text "Benvingut a Excel" a la cel·la D4 i canviï el color de la cel·la a blau.

Solució

Sub Benvinguda()
    Range("D4").Select
    ActiveCell.FormulaR1C1 = "Benvingut a Excel"
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 16711680 ' Color blau
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

Exercici 2: Utilitzar Variables i Bucles

  1. Crea una macro que insereixi els números de l'1 al 10 a la columna A.
  2. Edita la macro per utilitzar una variable per emmagatzemar el valor actual del bucle.

Solució

Sub InserirNumeros()
    Dim i As Integer
    For i = 1 To 10
        Cells(i, 1).Value = i
    Next i
End Sub

Conclusió

En aquest tema, hem après a editar macros utilitzant VBA, a personalitzar el codi generat per les macros gravades i a utilitzar estructures bàsiques de programació com variables, bucles i condicionals. Amb aquestes habilitats, podem automatitzar tasques més complexes i personalitzades a Excel.

En el següent tema, explorarem com crear funcions definides per l'usuari amb VBA per ampliar encara més les capacitats d'Excel.

Dominar l'Excel: De Principiant a Avançat

Mòdul 1: Introducció a l'Excel

Mòdul 2: Funcions Bàsiques de l'Excel

Mòdul 3: Habilitats Intermèdies d'Excel

Mòdul 4: Formules i Funcions Avançades

Mòdul 5: Anàlisi i Visualització de Dades

Mòdul 6: Gestió Avançada de Dades

Mòdul 7: Automatització i Macros

Mòdul 8: Col·laboració i Seguretat

Mòdul 9: Integració d'Excel i Eines Avançades

© Copyright 2024. Tots els drets reservats