Rakenduse väärtuse hankimine Exceli VBA-s (näited samm-sammult)

Lang L: none (table-of-contents)

Rakenduse väärtuse hankimine Exceli VBA abil

Lahter on üksik lahter ja on ka osa vahemikust, tehniliselt on VBA-ga rakuga suhtlemiseks kaks meetodit ja need on vahemiku meetod ja lahtrimeetod, vahemikumeetodit kasutatakse nagu vahemikku ("A2") Väärtus, mis annab meile A2 lahtri väärtuse, või saame rakkudena kasutada lahtrimeetodit (2,1). Väärtus, mis annab meile ka A2 lahtrite väärtuse.

Olgu see siis Exceli töö või VBA-töö, me kõik vajame tööd rakkude või lahtritega, sest kõik andmed salvestatakse lahtritesse, nii et see kõik taandub sellele, kui hästi me VBA rakkudest teame. Niisiis, kui lahtrid on VBA-s nii ülioluline osa, siis on oluline neist hästi aru saada ja kui olete VBA-rakkude osas alustaja, siis see artikkel aitab teil Exceli VBA-s rakuväärtuste hankimist detail.

Kõigepealt saame VBA lahtritega viidata või nendega töötada kahel viisil, st kasutades vara CELLS ja objekti RANGE. Miks CELLS on omadus ja miks RANGE on objekt, on teistsugune analoogia ja edaspidi jõuame sellesse punkti.

Lahtri väärtuse saamise näited Exceli VBA-s

Allpool on toodud näited rakuväärtuse hankimisest Exceli VBA-s.

Näide # 1 - omaduse RANGE või CELLS kasutamine

Näiteks lahtris A1 on väärtus “India”.

Sellele lahtrile viitamiseks võime kasutada omadust CELLS või objekti RANGE. Vaatame mõlemat üksikasjalikult.

Range omaduse kasutamine

Esmalt alustage makroprotseduuri.

Kood:

Sub Get_Cell_Value () Lõpp Sub

Nüüd avage objekt RANGE.

Kood:

Alam Get_Cell_Value () Vahemik (Lõpp-alam

Selle objekti esimene argument on "Cell1", st see, millisele lahtrile me viitame. Sel juhul on see lahter A1, mistõttu peame objekti RANGE jaoks pakkuma lahtri aadressi topelt jutumärkides.

Kood:

Alam Get_Cell_Value () Vahemik ("A1") Lõpp alam

Kuna ainult üks lahter viitab teistele parameetritele, ei oma tähtsust, sulgege sulg ja pange punkt IntelliSense'i loendi nägemiseks.

Nagu ülal näete, näeme punkti panemise hetkel kõiki saadaolevaid IntelliSense'i vahemikuobjekti omaduste ja meetodite loendit.

Kuna me valime lahtri, peame IntelliSense'i loendist valima meetodi "SELECT".

Kood:

Alam Get_Cell_Value () vahemik ("A1"). Valige Lõpeta alam

Nüüd valige lahter peale A1 ja käivitage kood.

Pole tähtis, millise lahtri olete koodi käivitamise hetkel valinud. Ta on valinud mainitud lahtri, st A1 lahtri.

Rakkude atribuudi kasutamine

Sarnaselt kasutame ka CELLS vara.

Kood:

Alam Get_Cell_Value () vahemik ("A1"). Valige lahtrid (End Sub

See on erinevalt objektist RANGE, kus me saaksime otse raku aadressi edastada, kuid seda omadust CELLS kasutades ei saa me seda teha.

Selle omaduse esimene argument on „Ridaindeks“, st millisele reale me viitame. Kuna valime lahtri A1, viidame esimesele reale, mainige seega 1.

Järgmine argument on veeruindeks ehk veerg, millele me viitame. Lahtrite veerg A1 on esimene veerg, seega sisestage 1.

Meie kood on CELLS (1, 1), st esimese rea esimene veerg = A1.

Nüüd pange punkt ja vaadake, kas näete IntelliSense'i loendit või mitte.

CELLS-i omadustega ei näe me ühtegi IntelliSense'i loendit, seega peame olema täiesti kindlad, mida me kirjutame. Sisestage meetodiks “Vali”.

Kood:

Alam Get_Cell_Value () vahemik ("A1"). Valige lahtrid (1, 1). Valige Lõpeta alam

Sellega valitakse ka lahter A1.

Näide # 2 - saate Exceli VBA lahtrist väärtust

Valimine on esimene asi, mida oleme õppinud, nüüd näeme, kuidas rakkudest väärtust saada. Enne lahtri valimist peame määrama muutuja lahtrisse salvestatud väärtuse salvestamiseks.

Kood:

Sub Get_Cell_Value1 () Dim CellValue String End Sub

Mainige nüüd lahtri aadressi, kasutades objekti RANGE või omadust CELLS. Kuna olete algaja, kasutage objekti RANGE ainult seetõttu, et objektiga RANGE näeme IntelliSense'i loendit.

Määratletud muutuja jaoks pange võrdusmärk ja mainige lahtri aadressi.

Kood:

Sub Get_Cell_Value1 () Dim CellValue stringina CellValue = Range ("A1") End Sub

Veelkord pange IntelliSense'i loendi kuvamiseks punkt.

Nimetatud lahtrist väärtuse saamiseks valige VBA IntelliSense loendist atribuut „Väärtus”.

Kood:

Sub Get_Cell_Value1 () Dim CellValue As String CellValue = Range ("A1"). Väärtus End Sub

Nüüd hoiab muutuja “CellValue” väärtust lahtrist A1. Kuva selle muutuja väärtus VBA teatekastis.

Kood:

Sub Get_Cell_Value1 () Dim CellValue stringina CellValue = Vahemik ("A1"). Väärtus MsgBox CellValue End Sub

Ok, käivitage kood ja vaadake tulemust sõnumikastis.

Kuna lahtris A1 on väärtus “INDIA”, ilmus sama asi ka sõnumikastis. Nii saame lahtri VBA väärtuse järgi saada lahtri väärtuse.

Näide # 3 - saate väärtust ühelt lahtrilt teisele lahtrile

Me teame, kuidas VBA abil lahtrist väärtust saada. Nüüd on küsimus selles, kuidas lahtrisse väärtust lisada. Võtame ainult sama näite. Lahtri A1 jaoks peame sisestama väärtuse "INDIA" ja seda saab teha allolevast koodist.

Kood:

Alam Get_Cell_Value2 () vahemik ("A1"). Väärtus = "INDIA" Lõpp alam

See lisab lahtrisse A1 väärtuse „INDIA”. Samamoodi võime väärtuse saamiseks ühest lahtrist teise kirjutada koodi allpool.

Kood:

Alam Get_Cell_Value2 () Vahemik ("A5"). Väärtus = Vahemik ("A1"). Väärtus Lõpp Alam

Las ma selgitan teile koodi.

"Lahtri A5 jaoks vajame väärtust, mis pärineb lahtri A1 väärtusest," ütleb see kood. Nii saab see väärtuse lahtrist A1 kuni A5 VBA koodi abil.

Asjad, mida meeles pidada

  • Lahtritesse väärtuse lisamine ja lahtrilt väärtuse hankimine nõuab VBA „VALUE” kasutamist.
  • Atribuudi CELLS abil saame valida ainult ühe lahtri, kuid kasutades objekti RANGE. Saame valida mitu lahtrit.

Huvitavad Artiklid...