Turinys
Šiame straipsnyje parodysiu, kaip galite nustatyti kintamąjį į ląstelės reikšmę naudodami VBA Išmoksite nustatyti kintamąjį kaip vienos ląstelės ir langelių intervalo vertę.
Atsisiųsti praktikos sąsiuvinį
Atsisiųskite šį pratybų sąsiuvinį, kad galėtumėte atlikti pratimus skaitydami šį straipsnį.
Nustatyti kintamąjį Cell.xlsm3 greiti pavyzdžiai, kaip "Excel" nustatyti kintamąjį į ląstelės vertę
Čia turime duomenų rinkinį, kuriame yra kai kurių klientų pavadinimai , jų kontaktiniai numeriai , ir el. pašto adresai diapazone B3:D13 darbo lape.
Siekiame nustatyti kintamuosius pagal šio duomenų rinkinio langelių reikšmes, naudodami VBA .
1. Nustatykite kintamąjį į vienos ląstelės reikšmę naudodami "Excel VBA
Pirmiausia išmoksime nustatyti kintamąjį į vienos ląstelės vertę naudodami VBA .
Pavyzdžiui, nustatykime ląstelės vertę B4 į kintamąjį, vadinamą Kliento_vardas .
Geriau, jei žinote reikšmės duomenų tipą ir deklaruojate jį prieš tai. O tada nustatykite reikšmę tame kintamajame.
Pavyzdžiui, čia ląstelė B4 yra pavadinimas, Borisas Pasternakas . Tai eilutės tipo Todėl galite naudoti tokį kintamąjį 2 kodų eilučių:
Dim Vertė kaip eilutė Vertė = diapazonas ("B4")
Tačiau nieko tokio, jei nesate tikri dėl duomenų tipo. Tokiu atveju rašykite tik 2-ąją eilutę, o VBA teisingai perskaitys vertę.
Vertė = diapazonas ("B4")
Dabar, norėdami patikrinti, ar VBA teisingai nuskaitė vertę ar ne, įveskite eilutę MsgBox Vertė su bet kuriuo iš dviejų kodų rinkinių ir paleiskite kodą.
Bus rodomas pranešimo langas, kuriame bus rodoma ląstelės B4 , Borisas Pasternakas .
2. Nustatykite gretimo ląstelių intervalo vertes į kintamąjį naudodami "Excel VBA
Dabar nustatysime gretimo ląstelių intervalo reikšmes į kintamąjį. Pavyzdžiui, perskaitykime intervalą B3:D13 į kintamąjį Rng .
Šiuo atveju kintamojo duomenų tipas bus a Diapazonas . Galite deklaruoti jį prieš tai taip:
Dim Rng As Range Set Rng = Range ("B3:D13")
Arba galite tiesiogiai priskirti reikšmes.
Set Rng = Range ("B3:D13")
Dabar, norėdami pasiekti reikšmes Kategorijos objektas , turite juos pasiekti su jų eilučių ir stulpelių numeriais, naudodami Ląstelių objektas .
Pavyzdžiui, norėdami gauti prieigą prie ląstelės B4 turite naudoti Rng.Cells(2,1) [ Ląstelės B4 yra 2. eilutė ir 1. diapazono stulpelis B3:D13 .]
Įveskite eilutę MsgBox Rng.Cells(2,1) savo kodo viduje ir paleiskite jį. Jis parodys Borisas Pasternakas , vertė langelyje B4 .
3. Nustatykite ne gretimų ląstelių diapazono vertes į kintamąjį naudodami "Excel VBA
Galiausiai į kintamąjį nustatysime nesusijusių langelių reikšmes.
Pavyzdžiui, pabandykime perskaityti intervalą B3:B13 ir D3:D13 į kintamąjį, vadinamą Rng .
Tai vėlgi duomenų tipas Diapazonas . Galite tai deklaruoti iš anksto arba ne.
Naudosime Sąjungos metodas iš VBA prisijungti 2 ar daugiau nesusijusių langelių intervalų į vieną intervalą.
Dim Rng As Range Set Range = Union(Range("B3:B13"), Range("D3:D13"))
Dabar prieiga prie ląstelės B4 , vėl turite įvesti eilutę MsgBox Rng.Cells(1,1). Tada, jei paleisime kodą, bus rodomas ląstelės turinys B4 , Borisas Pasternakas .
Dalykai, kuriuos reikia prisiminti
Visi pirmiau aprašyti metodai taikomi tik aktyviam darbalapiui. Jei norite pasiekti neaktyvų darbalapį, prieš intervalą turite nurodyti darbalapio pavadinimą.
Pavyzdžiui, norėdami pasiekti diapazoną B4 iš 1 lapas , turite naudoti:
Vertė = Darbalapiai("Lapas1").Kategorijos("B4")