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

Excel VBA -valinta-alue

VBA: n perustietojen jälkeen on tärkeää ymmärtää, kuinka työskennellä laskentataulukon solujen kanssa. Kun aloitat koodien suorittamisen käytännössä suurimman osan ajasta, sinun on työskenneltävä useiden solujen kanssa. Joten on tärkeää ymmärtää, kuinka työskennellä 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 alueen tai alueen valitsemisen, 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?

Voit ladata tämän VBA-valinta-alueen Excel-mallin täältä - VBA-valinta-alueen Excel-malli

Esimerkki 1

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

Koodi:

Mainittuamme solun, joka meidän on valittava put dot, jotta näet IntelliSense-luettelon, joka liittyy RANGE-objektiin.

Muodosta tämä valikoima luetteloita valitsemalla ”Valitse” -menetelmän.

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 taulukkolaskenta taulukosta, määritä ensin taulukko kuten alla.

Koodi:

 Alialue_esimerkki1 () laskentataulukot ("tietolomake") loppuosa 

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

Koodi:

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

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.

Koodi:

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

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

Esimerkki # 2 - Työskentely nykyisen valitun alueen kanssa

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 ALUEEKSI (“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 tällä hetkellä.

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 = "Hello VBA" End Sub 

Tämä koodi tekee, että tämä lisää arvon "Hello VBA" parhaillaan valittuun soluun. Katso esimerkki seuraavasta suoritusesimerkistä.

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

Nyt valitsen solun B3 ja suoritan, siellä myös 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, saamme kaikille valituille soluille arvon “Hello VBA”.

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

Mutta valintaobjektissa ei ole väliä missä solussa olet, se lisää mainitun arvon kaikkiin valittuihin soluihin.

Muistettavaa täällä

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

$config[zx-auto] not found$config[zx-overlay] not found