Rang de selecció VBA | Com seleccionar un interval a Excel VBA?

Rang de selecció Excel VBA

Després dels elements bàsics amb VBA, és important entendre com treballar amb un interval de cel·les del full de treball. Un cop comenceu a executar els codis pràcticament la major part del temps, necessiteu treballar amb un rang de cel·les. Per tant, és important entendre com es treballa amb un rang de cel·les i un d’aquests conceptes és VBA “Selection of Range”. En aquest article, us mostrarem com treballar amb el "rang de selecció" a Excel VBA.

La selecció i el rang són dos temes diferents, però quan diem que seleccionar el rang o la selecció del rang és un concepte únic. RANGE és un objecte, "Selecció" és una propietat i "Selecciona" és un mètode. La gent tendeix a confondre’s amb aquests termes, és important conèixer les diferències en general.

Com seleccionar un interval a Excel VBA?

Podeu descarregar aquesta plantilla Excel de rang de selecció VBA aquí: plantilla Excel de rang de selecció VBA

Exemple 1

Per exemple, suposem que voleu seleccionar la cel·la A1 al full de treball, primer cal especificar l’adreça de la cel·la mitjançant l’objecte RANGE com el següent.

Codi:

Després d’esmentar la cel·la que hem de seleccionar put dot per veure la llista IntelliSense associada a l’objecte RANGE.

Formar aquesta varietat de llistes tria el mètode "Selecciona".

Codi:

 Sub Range_Example1 () Range ("A1"). Seleccioneu Finalitza sub 

Ara, aquest codi seleccionarà la cel·la A1 al full de treball actiu.

Si voleu seleccionar la cel·la als diferents fulls de treball, primer hem d’especificar el full de treball pel seu nom. Per especificar el full de treball, hem d’utilitzar l’objecte “WORKSHEET” i introduir el nom del full de treball entre cometes dobles.

Per exemple, si voleu seleccionar la cel·la A1 al full de treball "Full de dades", primer especifiqueu el full de treball tal com es mostra a continuació.

Codi:

 Sub Range_Example1 () Fulls de treball ("Full de dades") Final Sub 

A continuació, continueu el codi per especificar què hem de fer en aquest full. A "Full de dades" hem de seleccionar la cel·la A1, de manera que el codi serà RANGE ("A1"). Seleccioneu.

Codi:

 Sub Range_Example1 () Fulls de treball ("Full de dades"). Range ("A1"). Seleccioneu Finalitza sub 

Quan intenteu executar aquest codi, obtindrem l'error següent.

La raó d'això és "no podem subministrar directament l'objecte d'abast i seleccionar el mètode a l'objecte fulls de treball".

En primer lloc, hem de seleccionar o activar el full de treball VBA i, a continuació, podem fer qualsevol cosa que vulguem fer.

Codi:

 Sub Range_Example1 () Fulls de treball ("Full de dades"). Activeu Range ("A1"). Seleccioneu End Sub 

Ara seleccionarà la cel·la A1 al full de treball "Full de dades".

Exemple 2: treballar amb l'interval seleccionat actual

Seleccionar és una cosa diferent i treballar amb un interval de cel·les ja seleccionat és diferent. Suposem que voleu inserir un valor "Hola VBA" a la cel·la A1 i ho podem fer de dues maneres.

En primer lloc, podem passar directament el codi VBA com a RANGE ("A1"). Valor = "Hola VBA".

Codi:

 Sub Range_Example1 () Range ("A1"). Value = "Hello VBA" End Sub 

El que farà aquest codi és que només inserirà el valor "Hola VBA" a la cel·la A1, independentment de la cel·la seleccionada actualment.

Mireu el resultat anterior del codi. Quan executem aquest codi, ha inserit el valor "Hola VBA" tot i que la cel·la seleccionada actualment és B2.

En segon lloc, podem inserir el valor a la cel·la mitjançant la propietat "Selecció". Per a això primer, hem de seleccionar la cel·la manualment i executar el codi.

Codi:

 Sub Range_Example1 () Selection.Value = "Hola VBA" Final Sub 

El que farà aquest codi és que inserirà el valor "Hola VBA" a la cel·la seleccionada actualment. Per obtenir un exemple, consulteu l'exemple següent d'execució.

Quan vaig executar el codi, la meva cel·la seleccionada actual era B2 i el nostre codi va inserir el mateix valor a la cel·la seleccionada actualment.

Ara seleccionaré la cel·la B3 i l'executaré, allà també obtindrem el mateix valor.

Una cosa més que podem fer amb la propietat de "selecció" és que també podem inserir valor a més d'una cel·la. Per exemple, ara seleccionaré l'interval de cel·les d'A1 a B5.

Ara si executo el codi, per a totes les cel·les seleccionades obtindrem el valor com "Hola VBA".

Per tant, la simple diferència entre especificar l’adreça de la cel·la per l’objecte RANGE i la propietat Selection és que, en el codi objecte Range s’inserirà valor a les cel·les que s’especifiquen explícitament.

Però a l’objecte Selecció, no importa en quina cel·la estigueu, inserirà el valor esmentat a totes les cel·les seleccionades.

Coses que cal recordar aquí

  • No podem subministrar directament el mètode select a la propietat Selection.
  • RANGE és un objecte i la selecció és propietat.
  • En lloc de l'abast, podem utilitzar la propietat CELLS.