VBA-alueen siirtämisen käyttäminen (11 tapaa)

  • Jaa Tämä
Hugh West

Jos etsit joitakin helpoimpia tapoja käyttää VBA Range Offset, niin tämä artikkeli on varmasti sen arvoinen. Aloitetaan siitä, miten käytetään komentoa VBA Range Offset.

Lataa työkirja

VBA Range Offset.xlsm

11 tapaa käyttää VBA:n Range Offset -aluetta

Minulla on seuraava datataulukko, joka sisältää erään korkeakoulun opiskelijoiden tietoja. Selitän tämän datasetin avulla, miten käytetään VBA Range Offset.

Tätä tarkoitusta varten olen käyttänyt Microsoft Excel 365 versiota, voit käyttää mitä tahansa muita versioita haluamallasi tavalla.

Menetelmä-1: Solun valitseminen VBA-alueen avulla

Tässä valitsemme solun, joka sisältää nimen Daniel Defoe. Tätä tarkoitusta varten käytämme RANGE-toiminto osoitteessa VBA .

Step-01 :

➤Go to Kehittäjä Tab>> Visual Basic Vaihtoehto

Sitten Visual Basic Editor avautuu.

➤Go to Lisää Tab>> Moduuli Vaihtoehto

Sen jälkeen Moduuli luodaan.

Step-02 :

➤ Kirjoita seuraava koodi

 Sub SelectCell() Range("B8").Select End Sub 

Se valitsee solun B8 .

➤Press F5

Tulos :

Näin saat solun, joka sisältää seuraavat tiedot Daniel Defoe valittu.

Lue lisää: VBA:n VBA-alueen objektin käyttäminen Excelissä

Menetelmä-2: Vierekkäisten solujen ryhmän valitseminen VBA-alueen avulla

Voit valita vierekkäisten solujen alueen kuten seuraavassa kuvassa Opiskelijan nimi sarake ja Tulos sarakkeen seuraavassa taulukossa noudattamalla tätä menetelmää.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub ContiguousCells() Range("B5:C10").Select End Sub 

Se valitsee solut B5 osoitteeseen C10 .

➤Press F5

Tulos :

Sen jälkeen saat solut Sarake B ja Sarake C valittu.

Menetelmä-3: Epäyhtenäisten solujen ryhmän valitseminen VBA-alueen avulla

Oletetaan, että haluat valita oppilaat nimeltä William David ja Michael Anthony mukaan lukien niiden Sähköpostiosoite Voit valita nämä ei-yhteensopivat solut noudattamalla tätä menetelmää.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub nonContiguous() Range("B6,D6,B9,D9").Select End Sub 

Se valitsee solut B6 , D6 , B9, ja D9 .

➤Press F5

Tulos :

Tämän jälkeen saat solut, jotka sisältävät oppilaan nimen. William David , Michael Anthony, ja niiden Sähköpostiosoite valittu.

Menetelmä-4: Epäyhtenäisten solujen ryhmän ja alueen valitseminen VBA-alueen avulla.

Voit valita solualueen ja joitakin ei-yhtenäisiä soluja samanaikaisesti noudattamalla tätä menetelmää.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub nonContiguouswithrange() Range("B5:B10,D6,D10").Select End Sub 

Se valitsee alueen solut alueelta B5:B10 ja kaksi muuta solua D6 , D10 .

➤Press F5

Tulos :

Tämän jälkeen saat sarakkeen solut sarakkeeseen Opiskelijan nimi ja kaksi Sähköpostitunnukset osoitteessa William David ja Donald Paul valittu.

Menetelmä-5: Alueen valitseminen VBA:n Range Offset -menetelmällä

Voit valita solualueen Opiskelijan nimi -sarake käyttämällä OFFSET-toiminto .

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub selectrangeoffset() Range("A1:A6").Offset(4, 1).Select End Sub 

Aluksi, Range("A1:A6") valitsee alueen A1:A6 ja sitten Offset(4, 1) siirtää 4 riviä alaspäin solusta A1 ja 1 sarake oikealla puolella. Tämän jälkeen yhtä monta solua alueella A1:A6 valitaan täältä.

➤Press F5

Tulos :

Näin valitset sarakkeen Opiskelijan nimi .

Menetelmä-6: VBA Range Offset Negatiivinen

Voit valita Sähköpostiosoite-sarake noudattamalla tätä menetelmää.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub negativerangeoffset() Range("F11:F16").Offset(-6, -2).Select End Sub 

Aluksi, Range("F11:F16") valitsee alueen F11:F16 ja sitten Offset(-6, -2) siirtää 6 riviä ylöspäin solusta F11 ja 2 saraketta vasemmalle puolelle. Tämän jälkeen yhtä monta solua alueella F11:F16 valitaan täältä.

➤Press F5

Tulos :

Tämän jälkeen voit valita sarakkeen nimellä Sähköpostiosoite .

Samanlaisia lukemia:

  • VBA kullekin Excelin alueen solulle (3 menetelmää)
  • Kuinka laskea tekstiä Excelissä (7 helppoa temppua)

Menetelmä-7: Alueen valitseminen aktiivisen solun suhteen

Tässä meillä on aktiivinen solu (solu A1 ) ja tämän solun osalta valitsemme tietovälin tällä menetelmällä.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub actvcell() Range(activecell.Offset(4, 1), activecell.Offset(9, 3)).Select End Sub 

Tässä, activecell on A1

Ensimmäinen osa activecell.Offset(4, 1) valitsee solun 4 riviä alaspäin ja 1 sarakkeen oikealle solusta. A1 ja toinen osa activecell.Offset(9, 3) valitsee solun 9 riviä alaspäin ja 3 saraketta oikealle solusta A1 .

Lopuksi valitaan kaikki näiden kahden solun välissä olevat solut.

➤Press F5

Tulos :

Tämän jälkeen voit valita koko data-alueen.

Menetelmä-8: Kopioi alue

Jos haluat kopioida solualueen, voit noudattaa tätä menetelmää.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub copyrangeoffset() Range("A1:A6").Offset(4, 1).Copy End Sub 

Aluksi, Range("A1:A6") valitsee alueen A1:A6 ja sitten Offset(4, 1) siirtää 4 riviä alaspäin solusta A1 ja 1 sarake oikealle puolelle. Tämän jälkeen yhtä monta solua alueelta A1:A6 valitaan täältä.

Lopuksi se kopioi arvot alueella B5:B10 .

➤Press F5

Tulos :

Tämän jälkeen voit kopioida data-alueen osoitteessa Opiskelijan nimi -sarake .

Menetelmä-9: Alueen poistaminen

Tässä näytetään tapa poistaa tietosarja käyttämällä VBA koodi.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub dltrangeoffset() Range("F11:F17").Offset(-7, -2).Delete End Sub 

Ensinnäkin, Range("F11:F17") valitsee alueen F11:F17 ja sitten Offset(-7, -2) siirtyy 7 riviä ylöspäin solusta F11 ja 2 saraketta vasemmalle puolelle. Tämän jälkeen yhtä monta solua alueella F11:F17 valitaan täältä.

Lopuksi se poistaa alueen D4:D10 .

➤Press F5

Tulos :

Tällä tavoin kopioit data-alueen vuonna Sähköpostiosoite-sarake .

Menetelmä-10: VBA-alueen siirtymisen käyttäminen arvon syöttämiseen

Tässä meillä on tyhjä solu (olemme poistaneet arvon tästä solusta tämän menetelmän selittämiseksi) taulukossa Opiskelijan nimi -sarake ja haluamme täyttää sen nimellä Joseph Michael Käyttämällä VBA koodin avulla voimme helposti syöttää tämän arvon.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub valuerangeoffset() Range("A1").Offset(6, 1).Value = "Joseph Michael" End Sub 

Ensinnäkin, Range("A1") valitsee solun A1 ja sitten Offset(6, 1) siirtää 6 riviä alaspäin solusta A1 ja 1 sarake oikealle puolelle. Tämän jälkeen solu B7 valitaan ja lopuksi se syöttää arvon "Joseph Michael" tässä solussa.

➤Press F5

Tulos :

Näin saat nimen Joseph Michael solussa B7 .

Menetelmä-11: VBA-alueen offsetin käyttäminen tulosteen saamiseksi

Oletetaan, että haluat kirjoittaa Hyväksytty tai Epäonnistui vastaamaan opiskelijoiden nimiin riippuen Tulossarake jossa Pass tai Fail on kirjoitettu hakasulkeisiin. Tämän osajonon löytämiseksi tiedostosta Tulossarake ja kirjoita se ylös Hyväksytty/hylätty-sarake noudata tätä menetelmää.

Step-01 :

➤Follow Step-01 of Menetelmä-1

 Sub CheckSubstring() Dim cell As Range For Each cell In Range("C5:C10") If InStr(cell.value, "Pass")> 0 Then cell.Offset(0, 1).value = "Passed" Else cell.Offset(0, 1).value = "Failed" End If Next cell End Sub 

Tässä solualue C5:C10 valitaan Range("C5:C10") joka on Tulossarake

InStr(solun arvo, "Pass")> 0 on ehto, jossa luku on suurempi kuin nolla (kun solussa on "Pass" ), niin seuraava rivi jatkuu ja antaa viereiseen soluun tulosteen muodossa Hyväksytty Tällöin viereinen solu valitaan seuraavasti cell.Offset(0, 1) , mikä tarkoittaa, että se siirtyy 1 sarakkeen verran syöttösolusta oikealle.

Jos ehto muuttuu vääräksi tarkoittaa, että solu ei sisällä mitään "Pass" sitten rivin alla oleva rivi Else suoritetaan ja antaa viereisen solun lähtöarvon muodossa Epäonnistunut .

Tämä silmukka jatkuu jokaisen solun kohdalla.

➤Press F5

Tulos :

Tämän jälkeen saat tulosteet Hyväksytty tai hylätty vuonna Hyväksytty/hylätty sarake.

Harjoitusosio

Jotta voit harjoitella itse, olemme toimittaneet Harjoitus osiossa alla olevan kaltaisesti arkissa nimeltä Harjoitus Tee se itse.

Päätelmä

Tässä artikkelissa yritin käsitellä helpoimpia tapoja käyttää VBA alueen siirto Excelissä tehokkaasti. Toivottavasti löydät sen hyödylliseksi. Jos sinulla on ehdotuksia tai kysymyksiä, voit jakaa ne kanssamme.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.