Tämä opetusohjelma osoittaa, kuinka käyttää Activecell Offsetia VBA: ssa.
ActiveCell on VBA: n ominaisuus, joka edustaa laskentataulukon aktiivisen solun soluosoitetta. Jos hiiren osoitin on solussa A1, VBA: n ActiveCell -ominaisuus palauttaa solun osoitteen "A1". Nämä ovat useita ominaisuuksia ja menetelmiä, jotka on yhdistetty ActiveCelliin. Tässä artikkelissa keskitymme ActiveCell.Offset -menetelmään.
ActiveCell.Offset -ominaisuudet ja -menetelmät
Activecell.Offsetilla on useita ominaisuuksia ja menetelmiä, jotka voidaan ohjelmoida VBA: n avulla. Voit tarkastella käytettävissä olevia ominaisuuksia ja menetelmiä kirjoittamalla seuraavan lausekkeen alla kuvatulla tavalla ja painamalla avattavaa luetteloa painamalla piste -näppäintä.
Menetelmät on kuvattu vihreällä menetelmäkuvakkeella ja ominaisuudet pienellä kädellä. Activecell.Offset -menetelmän ominaisuudet ja menetelmät ovat samat kuin Activecell -menetelmällä.
ActiveCell.Offset Syntax
Activecell.Offsetin syntaksi on seuraava
jossa Rivin siirtymä ja sarakkeen siirtymä on siirrettävien rivien määrä (positiiviset numerot alas, negatiiviset ylöspäin) tai sarakkeiden lukumäärä, jotka haluat siirtää (positiiviset luvut siirtyvät oikealle, negatiiviset numerot vasemmalle).
ActiveCell.Offset… Valitse
The Activecell.Offset… Valitse menetelmä on yleisimmin käytetty menetelmä Activecell.Offset -menetelmässä. Sen avulla voit siirtyä laskentataulukon toiseen soluun. Voit käyttää tätä menetelmää siirtyäksesi sarakkeiden välillä tai laskentataulukon riveillä ylös tai alas.
Voit siirtyä rivillä alas, mutta pysyä samassa sarakkeessa:
1 | Activecell Offset (1,0) Valitse |
Voit siirtyä sarakkeen poikki, mutta pysyä samalla rivillä:
1 | Activecell Offset (0,1) Valitse |
Voit siirtyä rivillä alaspäin ja sarakkeen yli seuraavasti:
1 | Activecell Offset (1,1) Valitse |
Voit siirtyä rivillä ylöspäin:
1 | Activecell Offset (-1,0) Valitse |
Sarakkeen siirtäminen vasemmalle:
1 | Activecell Offset (0, -1) Valitse |
Seuraavassa menettelyssä silmukkaamme solualueen läpi ja siirrymme yhden rivin alas ja yhden sarakkeen yli silmukan aikana:
12345678 | Sub ActiveCellTest ()Dim x kokonaislukunaAlue ("A1"). ValitseX = 1-10ActiveCell = xActiveCell.Offset (1, 1) ValitseSeuraava xEnd Sub |
Tulos näkyy alla olevassa kuvassa:
Silmukka lisää i: n arvon (1-10) Activecell, ja sitten se käyttää Activecell. Offset ominaisuus siirtyäksesi yhden rivin alas ja yhden sarakkeen yli oikealle - toista tämä silmukka 10 kertaa.
VBA -ohjelmointi | Koodigeneraattori toimii sinulle!
Alueobjektin käyttäminen Activecellin kanssa
Alueobjektin käyttäminen aktiivisen solun kanssa voi joskus hämmentää joitain ihmisiä.
Harkitse seuraavaa menettelyä:
1234 | Sub ActiveCellOffsetRange ()Alue ("B1: B10"). ValitseActiveCell.Offset (1, 1). Alue ("A1"). ValitseEnd Sub |
ActiveCell.Offset (1,1.Range ("A1"), alue ("A1") on määritetty. Tämä ei kuitenkaan tarkoita, että taulukon solu A1 valitaan. Kuten olemme määrittäneet alueen ("B1: B10"), alueen solu A1 on itse asiassa työkirjan solu B1. Siksi solua siirretään 1 rivillä ja 1 sarakkeella solu B1 EI solusta A1.
Siksi alue ("A1") ei tässä tapauksessa ole pakollinen, koska makro toimii samalla tavalla sen kanssa tai ilman sitä.
Vaihtoehdot ActiveCellille
Sen sijaan, että käyttäisimme Activecellia Offset -menetelmällä, voimme käyttää myös Range -objektia Offset -menetelmän kanssa.
123 | Alialue Offset ()Alue ("B1"). Siirtymä (0, 1). ValitseEnd Sub |
Yllä oleva menettely valitsee laskentataulukon solun C1.