L'objecte Range és un dels elements més importants i utilitzats en VBA per a Excel. Permet accedir i manipular cel·les, files, columnes i blocs de cel·les dins d'un full de càlcul. En aquesta secció, aprendrem com utilitzar l'objecte Range per realitzar diverses operacions.

  1. Què és l'objecte Range?

L'objecte Range representa una cel·la, una fila, una columna o un conjunt de cel·les en un full de càlcul. És l'element clau per interactuar amb les dades d'Excel mitjançant VBA.

Exemples d'ús de l'objecte Range

' Seleccionar una cel·la específica
Range("A1").Select

' Seleccionar un rang de cel·les
Range("A1:B10").Select

' Seleccionar una columna
Range("A:A").Select

' Seleccionar una fila
Range("1:1").Select

  1. Assignar valors a un Range

Podem utilitzar l'objecte Range per assignar valors a cel·les o rangs de cel·les.

Exemple: Assignar un valor a una cel·la

Sub AssignarValor()
    ' Assignar el valor "Hola" a la cel·la A1
    Range("A1").Value = "Hola"
End Sub

Exemple: Assignar valors a un rang de cel·les

Sub AssignarValors()
    ' Assignar valors a les cel·les A1 a A3
    Range("A1").Value = "Valor 1"
    Range("A2").Value = "Valor 2"
    Range("A3").Value = "Valor 3"
End Sub

  1. Llegir valors d'un Range

Podem llegir els valors de les cel·les utilitzant l'objecte Range.

Exemple: Llegir el valor d'una cel·la

Sub LlegirValor()
    Dim valor As String
    ' Llegir el valor de la cel·la A1
    valor = Range("A1").Value
    MsgBox "El valor de la cel·la A1 és: " & valor
End Sub

  1. Utilitzar l'objecte Range amb variables

Podem utilitzar variables per referenciar rangs de cel·les de manera dinàmica.

Exemple: Utilitzar una variable per referenciar un Range

Sub UtilitzarVariable()
    Dim cel·la As Range
    ' Assignar la cel·la A1 a la variable cel·la
    Set cel·la = Range("A1")
    ' Assignar un valor a la cel·la referenciada per la variable
    cel·la.Value = "Hola amb variable"
End Sub

  1. Manipulació avançada de Ranges

Exemple: Seleccionar un rang utilitzant cel·les inicials i finals

Sub SeleccionarRang()
    Dim inici As Range
    Dim final As Range
    ' Assignar les cel·les inicials i finals
    Set inici = Range("A1")
    Set final = Range("B10")
    ' Seleccionar el rang des de la cel·la inicial fins a la final
    Range(inici, final).Select
End Sub

Exemple: Utilitzar el mètode Offset per desplaçar-se dins d'un Range

Sub UtilitzarOffset()
    ' Assignar un valor a la cel·la A1
    Range("A1").Value = "Inici"
    ' Desplaçar-se una cel·la cap a la dreta i assignar un valor
    Range("A1").Offset(0, 1).Value = "Desplaçat a la dreta"
    ' Desplaçar-se una cel·la cap avall i assignar un valor
    Range("A1").Offset(1, 0).Value = "Desplaçat cap avall"
End Sub

Exercicis pràctics

Exercici 1: Assignar valors a un rang de cel·les

Instruccions:

  1. Crea un subprocediment anomenat AssignarValorsRang.
  2. Assigna els valors "1", "2" i "3" a les cel·les A1, A2 i A3 respectivament.

Solució:

Sub AssignarValorsRang()
    Range("A1").Value = 1
    Range("A2").Value = 2
    Range("A3").Value = 3
End Sub

Exercici 2: Llegir i mostrar valors d'un rang de cel·les

Instruccions:

  1. Crea un subprocediment anomenat MostrarValorsRang.
  2. Llegeix els valors de les cel·les A1, A2 i A3.
  3. Mostra els valors en un missatge concatenat.

Solució:

Sub MostrarValorsRang()
    Dim valor1 As String
    Dim valor2 As String
    Dim valor3 As String
    
    valor1 = Range("A1").Value
    valor2 = Range("A2").Value
    valor3 = Range("A3").Value
    
    MsgBox "Els valors són: " & valor1 & ", " & valor2 & ", " & valor3
End Sub

Resum

En aquesta secció, hem après a utilitzar l'objecte Range per seleccionar, assignar i llegir valors de cel·les i rangs de cel·les en un full de càlcul d'Excel. També hem vist com utilitzar variables per referenciar rangs de manera dinàmica i com manipular rangs de manera avançada. Els exercicis pràctics proporcionats ajuden a reforçar aquests conceptes i a aplicar-los en situacions reals.

© Copyright 2024. Tots els drets reservats