Ez az oktatóanyag bemutatja az Activecell Offset használatát a VBA -ban.
Az ActiveCell a VBA tulajdonsága, amely a munkalap aktív cellájának cellacímét képviseli. Ha az egérmutató az A1 cellában van, akkor a VBA ActiveCell tulajdonsága visszaadja az „A1” cellacímet. Az ActiveCellhez számos tulajdonság és módszer kapcsolódik. Ebben a cikkben az ActiveCell.Offset módszerre koncentrálunk.
ActiveCell.Offset tulajdonságok és módszerek
Az Activecell.Offset számos olyan tulajdonsággal és módszerrel rendelkezik, amelyeket a VBA programozhat. A rendelkezésre álló tulajdonságok és módszerek megtekintéséhez írja be az alábbi utasítást az alábbiak szerint, és nyomja meg a pont gombot a billentyűzeten a legördülő lista megtekintéséhez.
A módszereket a zöld módszer ikon, a tulajdonságokat pedig a kis kéz ikon jelzi. Az Activecell.Offset módszer tulajdonságai és módszerei megegyeznek az Activecell módszerével.
ActiveCell. Offset szintaxis
Az Activecell.Offset szintaxisa a következő
ahol a RowOffset és ColumnOffset az eltolható sorok száma (pozitív számok lefelé, negatív számok felfelé) vagy az oszlopok száma, amelyeket el szeretne távolítani (pozitív számok eltolódnak jobbra, negatív számok balra).
ActiveCell.Offset… Válassza ki
Az Activecell.Offset… Válassza ki módszer a leggyakrabban használt módszer az Activecell.Offset módszerrel. Lehetővé teszi, hogy a munkalap másik cellájába lépjen. Ezzel a módszerrel mozoghat az oszlopok között, vagy felfelé vagy lefelé a munkalapon.
Ha le szeretne lépni egy sorral, de maradjon ugyanabban az oszlopban:
1 | Activecell. Offset (1,0). Válassza ki |
Ha át szeretne lépni egy oszlopon, de maradjon ugyanabban a sorban:
1 | Activecell. Offset (0,1). Válassza ki |
Egy sorral lejjebb és egy oszlopon való átlépéshez:
1 | Activecell. Offset (1,1). Válassza ki |
Egy sorral feljebb lépéshez:
1 | Activecell. Offset (-1,0). Válassza ki |
Az oszlop balra mozgatásához:
1 | Activecell. Offset (0, -1). Válassza ki |
Az alábbi eljárásban egy cikluson keresztül hurkolunk, és egy sorral lejjebb haladunk, és egy oszlopon keresztül, miközben a ciklust hajtjuk végre:
12345678 | Sub ActiveCellTest ()Dim x Mint egészTartomány ("A1"). Válassza kiX = 1 és 10 közöttActiveCell = xActiveCell. Offset (1, 1). Válassza kiKövetkező xEnd Sub |
Ennek eredményét az alábbi ábra mutatja:
A Loop az i (1-10) értékét helyezi a Activecell, majd a Activecell. Offset tulajdonsággal egy sorral lejjebb, és egy oszlopon át jobbra - 10 -szer megismételve ezt a ciklust.
VBA programozás | A kódgenerátor működik az Ön számára!
A Tartomány objektum használata az Activecell segítségével. Eltolás Kiválasztás
A Range Object használata az aktív cellával néha megzavarhat néhány embert.
Fontolja meg a következő eljárást:
1234 | Sub ActiveCellOffsetRange ()Tartomány ("B1: B10"). Válassza kiActiveCell.Offset (1, 1). Tartomány ("A1"). Válassza kiEnd Sub |
Az ActiveCell.Offset (1,1.Range („A1”), a tartomány („A1”) megadásra került. Ez azonban nem jelenti azt, hogy a lap A1 cellája ki lesz választva. Mivel megadtuk a tartományt („B1: B10”), a tartomány A1 cellája valójában a munkafüzet B1 cella. Ezért a cella 1 sorral és 1 oszloppal eltolódik a a B1 cella NEM az A1 cellából.
Ezért a tartomány („A1”) ebben az esetben nem kötelező, mivel a makró ugyanúgy működik vele vagy anélkül.
Az ActiveCell alternatívái
Ahelyett, hogy az Activecell -et az Offset metódussal használnánk, a Range objektumot is használhatjuk az Offset metódussal.
123 | Sub RangeOffset ()Tartomány ("B1"). Eltolás (0, 1). Válassza kiEnd Sub |
A fenti eljárás a C1 cellát választja ki a munkalapon.