VBA lahtrid Excel - Kuidas kasutada lahtri viiteomadust vahemiku objektiga?

Lang L: none (table-of-contents)

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, 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 Range objekt, kuid Cell on Exceli lehe omadus. VBA-s on meil kaks viisi rakuobjekti võrdlemiseks 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 lahtrisse C5 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 soovin valida lahtrid A1 kuni A10, on kood allpool.

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

Kuid kahjuks saame CELLS-i atribuudi abil viidata ainult ühele lahtrile korraga. Rakke saame kasutada Range objektiga nagu allpool.

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

Rakkude vara valem VBA-s

Heitke pilk CELLS atribuudi valemile.

  • 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.

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 lisab see sõna „Tere”.

Tegelikult võime CELLSi omaduse kombineerida ka konkreetse lehenimega. Konkreetsele lehele 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 – 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 ja silmus peab käima 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 = 1

Kui silmus tagastab „I” väärtuse teist korda, on see 2, nii et kõikjal, kus on „I” väärtus, on see 2. st. Cell (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.

Huvitavad Artiklid...