"Excel VBA": kintamojo nustatymas į ląstelės reikšmę (3 praktiniai pavyzdžiai)

  • Pasidalinti
Hugh West

Š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.xlsm

3 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 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 1 lapas , turite naudoti:

 Vertė = Darbalapiai("Lapas1").Kategorijos("B4") 

Hugh Westas yra labai patyręs Excel treneris ir analitikas, turintis daugiau nei 10 metų patirtį šioje srityje. Jis yra įgijęs apskaitos ir finansų bakalauro bei verslo administravimo magistro laipsnius. Hugh turi aistrą mokymui ir sukūrė unikalų mokymo metodą, kurį lengva sekti ir suprasti. Jo ekspertinės žinios apie „Excel“ padėjo tūkstančiams studentų ir specialistų visame pasaulyje tobulinti savo įgūdžius ir tobulėti savo karjeroje. Savo tinklaraštyje Hugh dalijasi savo žiniomis su pasauliu, siūlydamas nemokamus „Excel“ vadovėlius ir internetinius mokymus, kad padėtų asmenims ir įmonėms išnaudoti visą savo potencialą.