Cèl·lules VBA Excel | Com s'utilitza la propietat de referència de cel·la amb un objecte d'interval?

Les cel·les són realment cel·les del full de càlcul i, en VBA, quan ens referim a les cel·les com a propietat d’interval, en realitat ens referim a les cel·les exactes, és a dir, la cel·la s’utilitza amb propietat d’interval i el mètode d’utilitzar la propietat de cel·les és el següent .Cells (1,1)) ara cel·les (1,1) significa la cel·la A1; el primer argument és per a la fila i el segon és per a la referència de columna.

Referències de cèl·lules VBA

No necessiteu cap introducció especial sobre què és una cel·la VBA. En els conceptes VBA, les cel·les tampoc no són diferents de les cel·les excel normals. Seguiu aquest article per tenir més coneixement del concepte de cèl·lules VBA.

Què és el rang VBA i la cèl·lula VBA?

Estic segur que aquesta és la qüestió que us apareix ara mateix. A VBA Range és un objecte, però Cell és una propietat d’un full Excel. A VBA tenim dues maneres de fer referència a un objecte de cel·la: una és mitjançant Range i una altra és mitjançant Cells.

Per exemple, si voleu fer referència a la cel·la C5, podeu utilitzar dos mètodes per referir-vos a la cel·la C5.

Ús del mètode de rang: Rang ("C5")

Ús del mètode Cells: Cèl·lules (5, 3)

De la mateixa manera, si voleu inserir el valor "Hola" a la cel·la C5, podeu utilitzar el codi següent.

Ús del mètode de rang: Interval ("C5"). Valor = "Hola"

Ús del mètode Cells: Cel·les (5, 3). Valor = "Hola"

Ara, si voleu seleccionar diverses cel·les, només podem seleccionar-les mitjançant l’objecte Range. Per exemple, si vull seleccionar cel·les de A1 a A10, es mostra el codi següent.

Codi: Rang ("A1: A10"). Seleccioneu

Però, malauradament, només podem fer referència a una cel·la a la vegada mitjançant la propietat CELLS. Podem utilitzar cel·les amb objecte Range com el següent

Rang ("A1: C10"). Cèl·lules (5,2) mitjana en el rang A1 a C10 cinquena fila i segona columna, és a dir, cel·la B5.

La fórmula de la propietat CELLS a VBA

Vegeu la fórmula de la propietat CELLS.

  • Índex de files: Això res més que a quina fila estem fent referència.
  • Índex de columnes: Això res més que a quina columna estem fent referència.
  • Cèl·lules (1, 1) significa cel·la A1, Cèl·lules (2, 1) significa cel·la A2, Cèl·lules (1, 2) significa cèl·lula B1.
  • Cèl·lules (2, 2) significa cel·la B2, Cèl·lules (10, 3) significa cel·la C10, Cèl·lules (15, 5) significa cel·la E15.

# 1 - Com s'utilitza la propietat CELLS a VBA?

Ara us ensenyaré a utilitzar aquestes propietats CELLS a VBA.

Podeu descarregar aquesta plantilla Excel de cèl·lules VBA aquí: plantilla Excel de cèl·lules VBA

Suposem que esteu treballant amb el nom del full anomenat Dades 1i voleu inserir un valor "Hola" a la cel·la A1.

El codi següent ho farà per vosaltres.

 Sub Cells_Example () Cells (1, 1) .Value = "Hello" End Sub 

Resultat:

Ara aniré al nom del full anomenat Dades 2 i executarà el codi. Fins i tot allà hi inserirà la paraula "Hola".

De fet, també podem combinar la propietat CELLS amb un nom de full concret. Per referir un full concret, utilitzeu l'objecte WORKSHEET.

Fulls de treball ("Dades 1"). Cel·les (1,1) .Valor = "Hola"

Això inserirà la paraula "Hola" al full "Dades 1" independentment de quin full estigueu.

# 2 - Com s'utilitza la propietat CELLS amb l'objecte Range?

En realitat, podem utilitzar la propietat CELLS amb un objecte RANGE. Per exemple, mireu el codi següent.

Rang ("C2: E8"). Cel·les (1, 1). Seleccioneu

Per a una millor comprensió, he introduït uns quants números al full Excel.

El codi anterior Rang ("C2: E8"). Cel·les (1, 1). Seleccioneu diu que entre el rang C2 i E8, seleccioneu la primera cel·la. Executeu aquest codi i vegeu què passa.

 Sub Cells_Example () Range ("C2: E8"). Cells (1, 1). Seleccioneu End Sub 

Ha seleccionat la cel·la C2. Però Cells (1, 1) significa cel·la A1, oi?

El motiu pel qual ha seleccionat la cel·la C2 perquè mitjançant l’objecte d’interval hem insistit en l’interval de C2 a E8, de manera que la propietat Cells tracta l’interval de C2 a E8, no pas de la cel·la A1 normal. En aquest exemple, C2 és la primera fila i la primera columna, de manera que les cel·les (1, 1) .select vol dir cel·la C2.

Ara canviaré el codi a Rang ("C2: E8"). Cel·les (3, 2). Seleccioneu i veure què passa.

Executeu aquest codi i comproveu quina cel·la realment seleccionarà.

 Sub Cells_Example () Range ("C2: E8"). Cells (3, 2). Seleccioneu End Sub 

Ha seleccionat la cel·la D4 és a dir, no 26. Les cel·les (3,2) volen començar des de la cel·la C2 desplaçada cap avall per 3 files i mouen 2 columnes cap a la dreta, és a dir, la cel·la D4.

# 3 - Propietat de cèl·lules amb bucles

La propietat CELLS amb bucles té una relació molt bona a VBA. Vegem l’exemple d’inserir números de sèrie de l’1 al 10 mitjançant FOR LOOP. Copieu i enganxeu el codi següent al mòdul.

 Sub Cells_Example () Dim i Integer for i = 1 to 10 Cells (i, 1). Valor = i Next i End Sub 

Aquí he declarat la variable Jo com a enter.

Després he sol·licitat LOOP amb I = 1 a 10, és a dir, el bucle ha de funcionar 10 vegades.

Cel·les (i, 1) .value = i

Això vol dir que quan el bucle s'executa per primer cop el valor de "I" serà 1, de manera que allà on el valor de "I" sigui 1 és a dir, Cel·la (1,1) .value =

Quan el bucle retorna el valor de "I" per segona vegada, és 2, de manera que, on sigui que sigui el valor de "I", és 2. i .e. Cel·la (2,1) .valor = 2

Aquest bucle s’executarà 10 vegades i s’inserirà Jo valor de A1 a A10.

Coses que cal recordar a les cèl·lules VBA

  • CELLS és propietat, però el rang és un objecte. Podem utilitzar propietats amb objectes, però no objectes.
  • Quan es proporciona l'abast, les cel·les només consideraran aquest rang, no l'interval normal.
  • Cèl·lules (1, 2) és una cèl·lula B1, de manera similar Cèl·lules (1, "B") també és cèl·lula B1.