VBA-valikoima - Kuinka valita alue Excel VBA: ssa?

Sisällysluettelo

Excel VBA -valinta-alue

VBA: n perustietojen jälkeen on tärkeää ymmärtää, kuinka työskennellä laskentataulukon solualueen kanssa. Kun aloitat koodien suorittamisen käytännössä suurimman osan ajasta, sinun on työskenneltävä solualueen kanssa, joten on tärkeää ymmärtää, kuinka toimia solualueen kanssa, ja yksi tällainen käsite on VBA "Selection of Range". Tässä artikkelissa näytämme, kuinka voit työskennellä Excel VBA: n "Valinta-alueen" kanssa.

Valinta ja Alue ovat kaksi eri aihetta, mutta kun sanomme, että valitsemme alueen tai alueen, se on yksi käsite. RANGE on objekti, "Selection" on ominaisuus ja "Select" on menetelmä. Ihmiset pyrkivät sekoittamaan näihin termeihin. On tärkeää tietää erot yleensä.

Kuinka valita alue Excel VBA: ssa?

Esimerkki 1

Oletetaan esimerkiksi, että haluat valita sitten taulukon solun A1. Ensinnäkin meidän on määritettävä solun osoite käyttämällä RANGE-objektia, kuten alla.

Koodi:

Mainittuasi solun, joka meidän on valittava, laita piste nähdäksesi IntelliSense-luettelon, joka liittyy RANGE-objektiin.

Muodosta tämä valikoima luetteloita ja valitse ”Valitse” -menetelmä.

Koodi:

Alialue_esimerkki1 () Alue ("A1"). Valitse Lopeta ala

Nyt tämä koodi valitsee solun A1 aktiivisessa laskentataulukossa.

Jos haluat valita solun eri laskentataulukoista, meidän on ensin määritettävä laskentataulukko sen nimellä. Laskentataulukon määrittämiseksi meidän on käytettävä ”WORKSHEET” -objektia ja syötettävä laskentataulukon nimi lainausmerkeissä.

Esimerkiksi, jos haluat valita solun A1 taulukkolaskentataulukosta, määritä ensin taulukko aivan kuten alla.

Koodi:

Alialue_esimerkki1 () laskentataulukot ("tietolomake") loppuosa

Jatka sitten koodia ja määritä, mitä meidän on tehtävä tässä taulukossa. "Data Sheet" -kohdassa meidän on valittava solu A1, joten koodi on RANGE ("A1"). Valitse.

Koodi:

Alialue_esimerkki1 () laskentataulukot ("tietolomake"). Alue ("A1"). Valitse Lopeta ali

Kun yrität suorittaa tämän koodin, saamme alla olevan virheen.

Syynä tähän on "emme voi toimittaa suoraan alueobjektia ja valita menetelmää laskentataulukko-objektille".

Ensinnäkin meidän on valittava tai aktivoitava VBA-laskentataulukko ja sitten voimme tehdä mitä tahansa haluamiamme asioita.

Koodi:

Alialue_esimerkki1 () laskentataulukot ("tietolomake"). Aktivoi alue ("A1"). Valitse Lopeta ala

Nyt tämä valitsee solun A1 taulukossa "Data Sheet".

Esimerkki # 2 - Työskentely nykyisellä valitulla alueella

Valitse on eri asia ja jo valitun solualueiden kanssa työskentely on erilaista. Oletetaan, että haluat lisätä arvon "Hello VBA" soluun A1, niin voimme tehdä sen kahdella tavalla.

Ensinnäkin voimme välittää VBA-koodin suoraan RANGE-arvona (“A1”). Arvo = “Hei, VBA.”

Koodi:

Alialue_esimerkki1 () Alue ("A1"). Arvo = "Hei VBA" loppuosa

Tämä koodi tekee, että tämä vain lisää arvon "Hello VBA" soluun A1 riippumatta siitä, mikä solu on valittu.

Katso yllä oleva koodin tulos. Kun suoritamme tämän koodin, se on lisännyt arvon "Hello VBA", vaikka tällä hetkellä valittu solu on B2.

Toiseksi voimme lisätä arvon soluun käyttämällä "Selection" -ominaisuutta. Tätä varten meidän on ensin valittava solu manuaalisesti ja suoritettava koodi.

Koodi:

Sub Range_Example1 () Selection.Value = "Hei VBA" loppu Sub

Tämä koodi tekee, että tämä lisää arvon "Hello VBA" parhaillaan valittuun soluun. Katso esimerkiksi alla olevaa esimerkkiä suorituksesta.

Kun suoritin koodin, nykyinen valittu soluni oli B2, ja koodimme lisäsi saman arvon valittuun soluun.

Nyt valitsen solun B3 ja suoritan myös siellä, saamme saman arvon.

Vielä yksi asia, jonka voimme tehdä "valinta" -ominaisuudella, on se, että voimme lisätä arvoa myös useampaan kuin yhteen soluun. Esimerkiksi valitsen nyt solualueen A1: stä B5: ään.

Jos nyt suoritan koodin, kaikille valituille soluille arvo on ”Hello VBA”.

Joten yksinkertainen ero soluosoitteen määrittelemisen RANGE-objektilla ja valintaominaisuuden välillä on, että Range-objektikoodi lisää arvon nimenomaisesti määriteltyihin soluihin.

Valintaobjektissa ei kuitenkaan ole väliä missä solussa olet. Se lisää mainitun arvon kaikkiin valittuihin soluihin.

Muistettavaa täällä

  • Emme voi toimittaa valintamenetelmää suoraan Valinta-ominaisuudessa.
  • RANGE on objekti ja valinta on ominaisuus.
  • Alueen sijasta voimme käyttää CELLS-ominaisuutta.

Mielenkiintoisia artikkeleita...