Ovaj vodič će pokazati kako se koristi Activecell Offset u VBA.
ActiveCell je svojstvo VBA -e koje predstavlja adresu ćelije aktivne ćelije na vašem radnom listu. Ako je pokazivač miša postavljen u ćeliju A1, svojstvo ActiveCell u VBA vratit će adresu ćelije "A1". Postoji niz svojstava i metoda koji su povezani s ActiveCell -om. U ovom se članku koncentriramo na metodu ActiveCell.Offset.
ActiveCell.Offset svojstva i metode
Activecell.Offset ima niz svojstava i metoda dostupnih za programiranje s VBA. Da biste pregledali dostupna svojstva i metode, upišite sljedeću izjavu u postupak prikazan dolje i pritisnite tipku točke na tipkovnici da vidite padajući popis.
Metode su prikazane zelenom ikonom metode, a svojstva ikonom male ruke. Svojstva i metode za metodu Activecell.Offset isti su kao i za metodu Activecell.
ActiveCell.Offset Sintaksa
Sintaksa Activecell.Offset je sljedeća
gdje su RowOffset i ColumnOffset broj redaka za pomak (pozitivni brojevi za dolje, negativni broj za gore) ili broj stupaca koje želite pomaknuti (pozitivni brojevi pomaci desno, negativni broj lijevo).
ActiveCell.Offset … Odaberite
The Activecell.Offset… Odaberite metoda je najčešće korištena metoda za metodu Activecell.Offset. Omogućuje vam prelazak u drugu ćeliju na radnom listu. Ovu metodu možete koristiti za kretanje po stupcima ili redovima gore ili dolje na radnom listu.
Da biste se pomakli prema dolje, ali ostali u istom stupcu:
1 | Activecell.Offset (1,0) .Odaberi |
Za kretanje po stupcu, ali ostajanje u istom retku:
1 | Activecell.Offset (0,1) .Odaberi |
Da biste se pomakli prema nizu i preko stupca:
1 | Activecell.Offset (1,1) .Odaberi |
Da biste se pomaknuli prema gore:
1 | Activecell.Offset (-1,0) .Odaberi |
Za pomicanje stupca ulijevo:
1 | Activecell.Offset (0, -1) .Odaberite |
U donjem postupku prolazimo kroz niz ćelija i krećemo se niz jedan red, a preko jednog stupca dok radimo petlju:
12345678 | Sub ActiveCellTest ()Dim x kao cijeli brojRaspon ("A1"). OdaberiteZa x = 1 do 10ActiveCell = xActiveCell.Offset (1, 1) .OdaberiteSljedeći xKraj podm |
Rezultat je prikazan na donjoj slici:
Petlja stavlja vrijednost i (1-10) u Activecell, a zatim koristi Activecell.Offset svojstvo za pomicanje prema dolje za jedan redak, a preko jednog stupca udesno - ponavljajući ovu petlju 10 puta.
VBA programiranje | Generator koda radi za vas!
Korištenje raspona objekta s Activecell.Offset Select
Korištenje Range Objekta s aktivnom ćelijom ponekad može zbuniti neke ljude.
Razmotrite sljedeći postupak:
1234 | Sub ActiveCellOffsetRange ()Raspon ("B1: B10"). OdaberiteActiveCell.Offset (1, 1) .Range ("A1"). OdaberiteKraj podm |
S pomakom ActiveCell.Offset (1,1.Range (“A1”), raspon (“A1”) je naveden. Međutim, to ne znači da će ćelija A1 na listu biti odabrana. Kao što smo odredili raspon ("B1: B10"), ćelija A1 u tom rasponu zapravo je ćelija B1 u radnoj knjizi. Stoga će ćelija biti pomaknuta za 1 redak i 1 stupac od ćelija B1 NE iz ćelije A1.
Stoga raspon (“A1 ′) u ovom slučaju nije potreban jer će makro raditi na isti način s njim ili bez njega.
Alternative ActiveCell -u
Umjesto da koristimo Activecell s Offset metodom, možemo koristiti i objekt Range s Offset metodom.
123 | PodrangOffset ()Raspon ("B1"). Odstupanje (0, 1). OdaberiteKraj podm |
Gore navedeni postupak odabrao bi ćeliju C1 na radnom listu.