Rang variable de VBA | Exemples de rang variable a Excel VBA

Variable VBA d'Excel en l'interval

Les variables són el cor i l’ànima de qualsevol gran projecte VBA, ja que les variables són el cor i l’ànima, aleshores el tipus de dades que els assignem també és un factor molt important en aquest sentit. En els nostres articles anteriors, hem debatut moltes vegades sobre les variables i la seva importància de tipus de dades. Una d’aquestes variables i tipus de dades és “Variable d’interval”, en aquest article especial dedicat donarem una guia completa sobre “Variable d’interval” a Excel VBA.

Què és la variable d’interval a Excel VBA?

Com qualsevol altra variable Rang de VBA, la variable també és una variable, però és una "Variable d'objecte" que fem servir per establir la referència de l'interval específic de cel·les.

Com qualsevol altra variable, podem donar qualsevol nom a la variable, però el tipus de dades que els assignem hauria de ser un "rang". Un cop el tipus de dades assignat a la variable es converteix en una "variable d'objecte" i, a diferència d'una altra variable, no podem començar a utilitzar la variable abans d'establir la referència d'objectes en cas de variables d'objecte.

Per tant, després de declarar la variable, hem d’utilitzar el fitxer "CONJUNT" paraula clau per establir la referència de l'objecte, és a dir, objecte Range en aquest cas.

D’acord, ara veurem pràcticament alguns exemples de variables d’interval VBA d’excel.

Exemples de variable d’interval a Excel VBA

Podeu descarregar aquesta plantilla Excel de rang variable VBA aquí: plantilla Excel de rang variable VBA

Per exemple, suposem que voleu seleccionar l'interval de cel·les d'A2 a B10 per a la imatge de la captura de pantalla següent.

Per seleccionar aquest rang de cel·les esmentat tot això mentre tenim l'objecte RANGE i dins de l'objecte range, hem esmentat l'adreça de la cel·la entre cometes dobles.

Codi:

 Sub Range_Variable_Example () Range ("A2: B10") End Sub 

Un cop es mencioni el rang de cel·les mitjançant l’objecte RANGE, si es posa punt, veuríem totes les propietats i mètodes associats a aquest objecte de rang.

Codi:

 Subinterval_Variable_Example () Interval ("A2: B10"). Finalitzar sub 

Com que hem de seleccionar les cel·les esmentades senzillament, trieu el mètode "Selecciona" de la llista IntelliSense.

Codi:

 Sub Range_Variable_Example () Range ("A2: B10"). Seleccioneu Finalitza sub 

Executeu el codi i seleccionarà les cel·les esmentades.

Això és obvi, no és així, però imaginem l’escenari d’utilitzar el mateix rang en el llarg projecte VBA, diguem-ne cent vegades, escrivint el mateix codi de "Rang (" A2: A10 ")" 100 vegades trigarà una mica, però en canvi declararem la variable i assignarem el tipus de dades com a objecte "Range".

D’acord, donem el vostre propi nom a una variable i assignem el tipus de dades com a “Interval”.

A part de "Variables d'objecte", podem començar a utilitzar les variables pel seu nom, però en cas de "Variables d'objecte", hem d'establir la referència.

Per exemple, en aquest cas, el nostre objecte variable (Rng) és rang, de manera que hem d’establir la referència a la qual es referirà la paraula “Rng”. Per definir la referència, hem d’utilitzar la paraula clau “Establir”.

Ara la variable "Rng" fa referència a l'interval de cel·les d'A2 a B10, en lloc d'escriure "Rang (" A2: B10 "))" cada vegada que simplement podem escriure la paraula "Rng".

A la següent línia esmenta el nom de la variable "Rng" i posa un punt per veure la màgia.

Com podeu veure més amunt, podem veure totes les propietats i mètodes de l’objecte d’interval com l’anterior.

Feu que la variable sigui dinàmica

Ara sabem com establir la referència al rang de cel·les, però un cop esmentem el rang de cel·les que s’adhereix només a aquestes cel·les, qualsevol addició o supressió de cel·les no afectarà aquestes cel·les.

Per tant, trobar el nou rang de cèl·lules després de qualsevol addició o supressió de cèl·lules fa que la variable sigui dinàmica. Això és possible trobant l'última fila i columna utilitzades.

Per trobar l’última fila i columna utilitzades, hem de definir dues variables més.

Codi:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última fila per entendre Dim LC As Long' LC = Última columna per comprendre End Sub 

Ara sota el codi trobareu l'última fila i columna utilitzades abans d'establir la referència a una variable d'objecte d'interval.

Codi:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última fila per entendre Dim LC As Long' LC = Última columna per comprendre LR = Cèl·lules (Rows.Count, 1). Final (xlUp). Fila LC = Cells (1, Columns.Count) .End (xlToLeft) .Column End Sub 

Ara obriu la declaració de paraula clau "Establir".

Codi:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última fila per entendre Dim LC As Long' LC = Última columna per comprendre LR = Cèl·lules (Rows.Count, 1). Final (xlUp). Fila LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = End Sub 

A diferència del mètode anterior, aquesta vegada utilitzem propietats VBA CELLS.

Codi:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última fila per entendre Dim LC As Long' LC = Última columna per comprendre LR = Cèl·lules (Rows.Count, 1). Final (xlUp). Fila LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) End Sub 

He esmentat les cel·les (1,1), és a dir, es refereix a la primera cel·la del full actiu, però necessitem la referència de l'interval de dades, per tant, utilitzeu la propietat "RESIZE" i mencioneu les variables "última fila i columna utilitzades".

Codi:

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última fila per entendre Dim LC As Long' LC = Última columna per comprendre LR = Cèl·lules (files. Comptar, 1). Final (xlUp). Fila LC = Cèl·lules (1, Columns.Count). Final (xlToLeft) .Column Set Rng = Cells (1, 1). Redimensionar (LR, LC) End Sub 

Ara es definirà la darrera referència a la variable d'objecte d'abast "Rng". A continuació, mencioneu el nom de la variable i utilitzeu el mètode "Selecciona".

 Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Última fila per entendre Dim LC As Long' LC = Última columna per comprendre LR = Cèl·lules (Rows.Count, 1). Final (xlUp). Fila LC = Cells (1, Columnes. Comptar). Final (xlToLeft). Conjunt de columnes Rng = Cèl·lules (1, 1). Redimensionar (LR, LC) Rng. Seleccionar Final sub 

Ara afegiré algunes línies més a les meves dades.

He afegit tres línies de dades addicionals si executo el codi ara hauria de seleccionar el rang de dades més recent.

Coses que cal recordar

  • La variable d’interval a Excel VBA és una variable objecte.
  • Sempre que fem servir la variable objecte, hem d'utilitzar la paraula clau "Establir" i establir la referència de l'objecte a la variable.
  • Sense establir la referència no podem utilitzar una variable objecte.