VBA vertė | Kaip naudoti „Excel VBA Value“ nuosavybę? (Pavyzdžiai)

„Excel VBA Value“ nuosavybė

Vertė yra VBA ypatybė, kuri dažniausiai naudojama naudojant diapazono metodą, kad priskirtumėte vertę konkrečiam diapazonui, tai yra VBA integruota išraiška, pavyzdžiui, jei mes naudojame diapazoną („B3“). Reikšmė = 3 tai priskirs langelio B3 vertė yra 3, nebūtinai ta vertės ypatybė turi būti naudojama tik su diapazono metodu, kurį galime naudoti ir su kitomis funkcijomis.

Ankstyvai mokydamiesi su VBA mes taip norime sužinoti, kaip kaupti duomenis ląstelėse. Jei esate toks smalsus, turite suprasti nuosavybės vertę. Šiame straipsnyje paaiškinsime jums apie ypatybę „Vertė“, kaip įterpti ar nustatyti reikšmes, kaip gauti vertę iš langelio ir daugelį kitų dalykų.

Viename iš ankstesnių straipsnių aptarėme „VBA Range Cells“. Diapazono objektas gali padėti mums nurodyti vieną langelį ir kelias langelius. Norėdami pirmiausia naudoti objektą RANGE, turime nuspręsti, kurioje langelyje turime įterpti vertę ir kokia yra vertė, kurią ketiname įterpti.

Kaip naudoti „Value Property“ VBA?

Šį „VBA Value Function Excel“ šabloną galite atsisiųsti čia - „VBA Value Function Excel“ šablonas

1 pavyzdys - diapazono objektas priskirti vertes ląstelėms

  • Pvz., Jei norite įterpti reikšmę į langelį A1, turėtumėte nurodyti langelį A1 kaip šį diapazoną („A1“)

Kodas:

 Sub vertė () Diapazonas ("A1") Pabaiga Sub 

  • Nurodę langelį naudodami objektą RANGE, dabar įdėkite tašką (.), Kad pamatytumėte visų su šiuo objektu susijusių savybių ir metodų „IntelliSense“ sąrašą.

Kodas:

Papildomos vertės () diapazonas („A1“). Pabaigos sub

  • Suformuodami šią parinkčių įvairovę pasirinkite nuosavybę „VALUE“.

Kodas:

 Papildomos vertės () diapazonas („A1“). Reikšmė Pabaigos sub 

  • Pasirinkę ypatybę „VALUE“, turime nustatyti langelio A1 vertę, įterpdami vertę į lygybės ženklą.

Kodas:

 Papildomos vertės () diapazonas („A1“). Reikšmė = „Sveiki atvykę į VBA“ Pabaiga 

  • Gerai, į langelį A1 bus įterpta reikšmė „Sveiki atvykę į VBA“.

  • Jei norite tą pačią vertę įterpti į kelias langelius, nurodykite langelius kaip žemiau pateiktą kodą.

Kodas:

 Papildomos vertės () diapazonas („A1: A5“). Reikšmė = „Sveiki atvykę į VBA“ Pabaigos sub 
  • Tai įterps vertę iš langelio A1 į A5 .

  • Jei norite įterpti reikšmes į skirtingas langelius, bet ne į langelio serijas, turime naudoti kodą ir langelio adresą atskirais argumentais, pavyzdžiui, žemiau.

Kodas:

 Papildomos vertės () diapazonas ("A1, A5, B4, C2"). Reikšmė = "Sveiki atvykę į VBA" Pabaiga 
  • Tai įterps tekstą „Sveiki atvykę į VBA“ į langelius A1, A5, B4 ir C2 .

2 pavyzdys - įterpkite reikšmę naudodami CELLS ypatybę

Ne per RANGE objektą, bet ir naudodami VBA CELLS ypatybę, galime įterpti reikšmes. Tačiau viena iš CELLS objekto problemų yra tai, kad mes negalime pasiekti IntelliSense sąrašo, kaip mes gavome objektui RANGE.

Čia turime paminėti eilučių ir stulpelių numerius, kuriems reikia įterpti vertę. Pvz., Jei norite įterpti reikšmę į langelį A1, tada kodas yra CELLS (1,1), jei norite įterpti reikšmę į langelį B5, tada kodas yra CELLS (5,2), ty lygus B5 ląstelė.

Naudodami CELLS ypatybę, negalime įterpti verčių į kelias langelius, tai skiriasi nuo mūsų RANGE objekto.

3 pavyzdys - gaukite langelio vertę

Mes matėme, kaip į langelius įterpti reikšmes, dabar pamatysime, kaip gauti vertes iš ląstelių.

1 veiksmas: apibrėžkite kintamąjį kaip eilutę.

Kodas:

 Sub vertė () Dim K kaip eilutės pabaigos sub 

2 žingsnis: Šiam kintamajam „k“ priskirsime langelio A1 vertę. A1 langelyje įrašiau reikšmę „Sveiki atvykę į VBA“.

Taigi kodas bus k = Range („A1“). Reikšmė

Kodas:

 Sub reikšmė () Dim K kaip eilutė K = diapazonas ("A1"). Reikšmė Pabaiga Sub 

3 žingsnis: VBA pranešimų laukelyje parodykite kintamojo „k“ rezultatą.

Kodas:

 Sub reikšmė () Dim K kaip eilutė K = diapazonas ("A1"). Reikšmė MsgBox K End Sub 

Paleisdami kodą turėtume gauti langelio A1 reikšmę pranešimo laukelyje.

Mes taip pat galime naudoti objektą RANGE, kad gautume langelio A1 duomenis, žemiau kodas parodys tą patį.

Kodas:

 Sub reikšmė () Dim K kaip eilutė Nustatykite CellValue = Diapazonas ("A1") MsgBox CellValue Pabaiga Sub 

Tai taip pat turėtų gauti langelio A1 reikšmę pranešimo laukelyje.

4 pavyzdys - klaidos vertė, jei reikia daugiau nei vienos langelio vertės

Pavyzdžiui, pažvelkite į žemiau pateiktą kodą.

Kodas:

 Sub reikšmė () Dim K As Range Set CellValue = Range ("A1: A5") MsgBox CellValue End Sub 

Jei paleisite pirmiau nurodytą kodą, gausime klaidą „Tipo neatitikimas“.

Priežastis, kodėl gauname šią klaidą, nes kai objekto kintamasis, nustatytas kaip daugiau nei vienos langelio savybė „value“, nelabai supranta, kurios langelio reikšmę reikia pateikti, todėl vienu metu gali gauti vienos langelio vertę.