Excel VBA OFFSET -toiminto
VBA- siirtofunktiota käytetään siirtämään viite tai viittaamaan siihen viittaus, joka ohittaa tietyn määrän rivejä ja sarakkeita, tämän funktion argumentit VBA: ssa ovat samat kuin laskentataulukon argumentit.
Oletetaan esimerkiksi, että sinulla on joukko tietoja, kuten alla.

Nyt solusta A1 haluat siirtyä 4 solua alaspäin ja haluat valita viidennen solun eli A5-solun.
Vastaavasti, jos haluat siirtyä alaspäin A1-solusta 2 riviä ja mennä 2 saraketta oikealle ja valita kyseinen solu, ts. C2-solu.
Näissä tapauksissa OFFSET-toiminto on erittäin hyödyllinen. Varsinkin VBA: ssa OFFSET-toiminto on vain ilmiömäinen.
OFFSETia käytetään Range Object -sovelluksen kanssa Excel VBA: ssa
VBA: ssa emme voi suoraan kirjoittaa sanaa OFFSET. Meidän on ensin käytettävä VBA RANGE -objektia, ja siitä alueobjektista voimme käyttää OFFSET-ominaisuutta.
Excelissä alue ei ole muuta kuin solu tai solun alue. Koska OFFSET viittaa soluihin, meidän on ensin käytettävä objektia RANGE, ja sitten voimme käyttää OFFSET-menetelmää.
OFFSETin syntakse VBA Excelissä

- Rivin siirtymä: Kuinka monta riviä haluat siirtää valitusta solusta. Tässä valittu solu on A1, eli alue (“A1”).
- Sarakepoikkeama: Kuinka monta saraketta haluat siirtää valitusta solusta. Tässä valittu solu on A, 1, eli alue (“A1”).
Esimerkkejä
Esimerkki 1
Harkitse alla olevia tietoja, esimerkiksi esittely.

Haluan nyt valita solun A6 solusta A1. Käynnistä makro- ja viitesolu Range-objektilla.
Koodi:
Alien siirtymä_esimerkki1 () Alue ("A1"). Offset (Loppu alim

Haluan nyt valita solun A6, eli haluan tehdä viisi solua alas. Syötä siis 5 rivinsiirron parametriksi.
Koodi:
Ala-offset_esimerkki1 () Alue ("A1"). Offset (5 loppu-ali

Koska valitsen samassa sarakkeessa, jätän sarakeosan pois. Sulje kiinnike ja aseta piste (.) Ja kirjoita menetelmä Valitse.
Koodi:
Alien siirtymä_esimerkki1 () Alue ("A1"). Siirto (5). Valitse Lopeta ali

Suorita nyt tämä koodi F5-näppäimellä, tai voit suorittaa manuaalisesti valitaksesi solun A6 alla olevan kuvan mukaisesti.

Tuotos:

Esimerkki 2
Ota nyt samat tiedot, mutta tässä näet, miten myös sarakkeen offset-argumenttia käytetään. Haluan nyt valita solun C5.
Koska haluan ensin valita solun C5, haluan siirtyä 4 solua alaspäin ja ottaa oikeat 2 saraketta päästäksesi soluun C5. Alla oleva koodi tekisi työn minulle.
Koodi:
Alaerot_esimerkki2 () Alue ("A1"). Poikkeama (4, 2) .Valitse Lopeta ala

Suoritin tämän koodin manuaalisesti tai käyttämällä F5-avainta. Sitten se valitsee solun C5, kuten alla olevassa kuvakaappauksessa näkyy.

Tuotos:

Esimerkki 3
Olemme nähneet, kuinka rivit ja sarakkeet voidaan tasata. Voimme myös valita yllä olevat solut määritetyistä soluista. Esimerkiksi, jos olet solussa A10 ja haluat valita A1-solun, miten valitset?
Jos siirrymme solusta alaspäin, voimme syöttää positiivisen luvun, joten tässä, jos siirrytään ylöspäin, meidän on syötettävä negatiiviset luvut.
A9-solusta meidän on siirryttävä ylöspäin 8 rivillä eli -8.
Koodi:
Alasiirto_esimerkki1 () Alue ("A9"). Poikkeama (-8) .Valitse Lopeta ala

Jos suoritat tämän koodin F5-näppäimellä tai voit suorittaa koodin manuaalisesti, se valitsee solun A1 A9-solusta.

Tuotos:

Esimerkki 4
Oletetaan, että olet solussa C8. Tästä solusta haluat valita solun A10.
Aktiivisesta solusta, ts. C8-solusta, meidän on ensin siirryttävä 2 riviä alaspäin ja meidän on siirryttävä vasemmalle 2 sarakkeella valitaksesi solun A10.
Jos siirryt vasemmalle sarakkeen valitsemiseksi, meidän on määritettävä, että numero on negatiivinen. Joten tässä meidän on palattava -2 sarakkeella.
Koodi:
Alien siirtymä_esimerkki2 () -alue ("C8"). Poikkeama (2, -2).

Suorita nyt tämä koodi F5-näppäimellä tai suorita manuaalisesti, se valitsee A10-solun alla olevan kuvan mukaisesti:

Tuotos:

Muistettavaa
- Jos siirrytään rivejä ylöspäin, meidän on määritettävä luku negatiivisina.
- Jos siirryt vasemmalle sarakkeen valitsemiseksi, luvun tulee olla negatiivinen.
- A1-solu on ensimmäinen rivi ja ensimmäinen sarake.
- Aktiivinen solu tarkoittaa tällä hetkellä valittuja soluja.
- Jos haluat valita solun OFFSET-toiminnolla, sinun on mainittava ”.Select”.
- Jos haluat kopioida solun OFFSET-toiminnolla, sinun on mainittava .Copy.