VBA OFFSET -toiminto | Excel VBA Offset -ominaisuuden käyttäminen (esimerkki)
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 kyseisen 5. solun eli A5-solun.
Vastaavasti, jos haluat siirtyä alaspäin A1-solusta 2 riviä ja mennä 2 saraketta oikealle ja valita kyseinen solu eli 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.
Excel-alueella ei ole muuta kuin solu tai solualue. Koska OFFSET viittaa soluihin, meidän on ensin käytettävä objekti 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 A1 eli alue (“A1”).
Esimerkkejä
Voit ladata tämän VBA OFFSET -mallin täältä - VBA OFFSET -malliEsimerkki 1
Harkitse alla olevia tietoja esimerkiksi esittelyä varten.
Haluan nyt valita solun A6 solusta A1. Käynnistä makro- ja viitesolu Range-objektilla.
Koodi:
Alien siirtymä_esimerkki1 () Alue ("A1"). Offset (Loppu alim
Nyt haluan 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 sarakkeen osan 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, kuinka 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:
Alien siirtymä_esimerkki2 () -alue ("A1"). Poikkeama (4, 2).
Suoritan tämän koodin manuaalisesti tai sitten F5-näppäintä, se valitsee solun C5 alla olevan kuvakaappauksen mukaisesti.
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 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 eli 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:
Alaerot_esimerkki2 () Alue ("C8"). Poikkeama (2, -2) .Valitse Lopeta ala
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”.