VBA lahtrid Excel | Kuidas kasutada lahtri viiteomadust vahemiku objektiga?

Lahtrid on tegelikult töölehe lahtrid ja VBA-s, kui viidata lahtritele vahemiku omadusena, siis tegelikult täpsetele lahtritele, teisisõnu kasutatakse rakku vahemiku omadusega ja lahtrite omaduse kasutamise meetod on järgmine Lahtrid (1,1)) tähendab nüüd lahtrid (1,1) lahtrit A1, esimene argument on rea jaoks ja teine ​​veeruviide.

VBA lahtriviited

Te ei vaja erilist sissejuhatust selle kohta, mis on VBA lahter. VBA mõistetes on ka rakud samad, mis ei erine tavalistest exceli rakkudest. Järgige seda artiklit, et saada rohkem teadmisi VBA-rakkude kontseptsioonist.

Mis on VBA vahemik ja VBA rakk?

Olen kindel, et see on küsimus, mis praegu teie mõtetes käib. VBA-s on vahemik objekt, kuid lahter on Exceli lehe omadus. VBA-s on meil kaks lahtriobjekti viitamise viisi: üks on vahemiku kaudu ja teine ​​rakkude kaudu.

Näiteks kui soovite viidata lahtrile C5, saate rakule C5 viitamiseks kasutada kahte meetodit.

Kasutades vahemiku meetodit: vahemik (“C5”)

Rakkude meetodi abil: rakud (5, 3)

Samamoodi, kui soovite C5 lahtrisse sisestada väärtuse “Hi”, võite kasutada allolevat koodi.

Kasutades vahemiku meetodit: vahemik („C5”). Väärtus = „Tere”

Rakkude meetodi abil: lahtrid (5, 3). Väärtus = "Tere"

Nüüd, kui soovite valida mitu lahtrit, saame valida ainult objekti Range kaudu. Näiteks, kui ma tahan valida lahtrid A1 kuni A10, on kood allpool.

Kood: Vahemik („A1: A10”). Valige

Kuid kahjuks saame vara CELLS abil viidata ainult ühele lahtrile korraga. Võime kasutada rakke Range objektiga nagu allpool

Vahemik (“A1: C10”). Lahtrid (5,2) tähendavad vahemikus A1 kuni C10 viiendat rida ja teist veergu, st lahtrit B5.

Rakkude vara valem VBA-s

Vaadake omadust CELLS.

  • Ridaindeks: see pole midagi muud kui see, millisele reale viitame.
  • Veergude register: see pole midagi muud kui see, millisele veerule viitame.
  • Rakud (1, 1) tähistavad A1-rakku, Rakud (2, 1) tähendab A2-rakke, Rakud (1, 2) - B1-rakke.
  • Rakud (2, 2) tähistavad B2-rakku, Rakud (10, 3) - C10-rakke, Rakud (15, 5) - E15-rakke.

# 1 - Kuidas rakkude vara VBA-s kasutada?

Nüüd õpetan teile, kuidas kasutada neid rakkude omadusi VBA-s.

Selle VBA Cells Exceli malli saate alla laadida siit - VBA Cells Exceli mall

Oletame, et töötate lehe nimega Data 1  ja soovite lahtrisse A1 sisestada väärtuse "Tere".

Allpool olev kood teeks seda teie jaoks.

 Alamrakud_näide () Lahtrid (1, 1). Väärtus = "Tere" Lõpp alam 

Tulemus:

Nüüd lähen lehe nimele Data 2 ja käivitan koodi. Isegi seal sisestatakse see sõna “Tere”.

Tegelikult võime CELLSi omaduse kombineerida ka konkreetse lehenimega. Konkreetse lehe viitamiseks kasutage objekti TÖÖLEHT.

Töölehed („Andmed 1”). Lahtrid (1,1). Väärtus = „Tere”

See lisab lehele „Andmed 1” sõna „Tere” , olenemata sellest, millisel lehel olete.

# 2 - Kuidas kasutada CELLS-i vara vahemikuobjektiga?

Tegelikult saame kasutada omadust CELLS objekti RANGE abil. Näiteks vaadake allolevat koodi.

Vahemik ("C2: E8"). Rakud (1, 1). Valige

Parema mõistmise huvides olen Exceli lehele sisestanud mõned numbrid.

Ülaltoodud koodivahemik ("C2: E8"). Lahtrid (1, 1). Valige , et vahemikus C2 kuni E8 valige esimene lahter. Käivitage see kood ja vaadake, mis juhtub.

 Alamrakkude_näide () vahemik ("C2: E8"). Lahtrid (1, 1). Valige Lõpp-alam 

See on valinud lahtri C2. Kuid lahtrid (1, 1) tähendavad lahtrit A1, kas pole?

Lahtri C2 valimise põhjus on see, et vahemikuobjekti kasutamisel oleme nõudnud vahemikku C2 kuni E8, nii et vara Cells käsitleb vahemikku C2 kuni E8, mitte tavalist A1 lahtrit. Selles näites on C2 esimene rida ja esimene veerg, seega tähendab Cells (1, 1) .select C2 lahtrit.

Nüüd muudan koodi vahemikuks (“C2: E8”). Lahtrid (3, 2). Valige ja vaadake, mis juhtub.

Käivitage see kood ja kontrollige, millise lahtri ta tegelikult valib.

 Alamrakkude_näide () vahemik ("C2: E8"). Lahtrid (3, 2). Valige Lõpp-alam 

See on valinud lahtri D4, st nr 26. Lahtrid (3,2) tähendavad, alustades C2 lahtrist, liigutatuna 3 rea võrra alla, ja liigutades 2 veergu paremale, st D4 lahtrisse.

# 3 - lahtrite omadus aasadega

Loopidega CELLS vara on VBA-s väga heades suhetes. Vaatame seerianumbrite 1 kuni 10 sisestamise näidet FOR LOOPi abil. Kopeerige ja kleepige allolev kood oma moodulisse.

 Alamrakud_näide () Dim i täisarvuna i = 1 kuni 10 lahtrit (i, 1). Väärtus = i Järgmine i Lõpp alam 

Siin olen deklareerinud muutuja I täisarvuna.

Siis olen taotlenud LOOP-i, mille I = 1 kuni 10, st silmus peab töötama 10 korda.

Rakud (i, 1). Väärtus = i

See tähendab, et tsükli esmakordsel käivitamisel on väärtuse “I” väärtus 1, nii et kõikjal, kus “I” väärtus on 1, st lahter (1,1). Väärtus =

Kui silmus tagastab „I“ väärtuse teist korda, on see 2, nii et kõikjal, kus on „I“ väärtus, on see 2. st. E. Lahter (2,1). Väärtus = 2

See silmus kestab 10 korda ja lisab I väärtuse A1 kuni A10.

Asjad, mida VBA lahtrites meeles pidada

  • CELLS on omadus, kuid RANGE on objekt. Me võime vara kasutada koos objektidega, kuid mitte vara vastu.
  • Vahemiku tarnimisel arvestavad lahtrid ainult seda vahemikku, mitte tavalist vahemikku.
  • Rakud (1, 2) on B1 rakud, samamoodi on rakud (1, ”B”) ka B1 rakud.