VBA ląstelių vertė - gaukite, nustatykite arba pakeiskite

Ši pamoka išmokys jus sąveikauti su ląstelių vertėmis naudojant VBA.

Nustatykite langelio vertę

Norėdami nustatyti langelio vertę, naudokite objekto Range arba Cells ypatybę Value.

Diapazonas. Vertė ir ląstelės. Vertė

Yra du būdai, kaip nurodyti VBA langelį (-ius):

  • Diapazono objektas - Diapazonas („A2“). Reikšmė
  • Ląstelių objektas - Ląstelės (2,1). Vertė

Objektas „Range“ leidžia nurodyti langelį naudojant standartinį „A1“ žymėjimą.

Tai nustatys diapazono A2 reikšmę = 1:

1 Diapazonas („A2“). Vertė = 1

Ląstelių objektas leidžia nurodyti langelį pagal jo eilutės numerį ir stulpelio numerį.

Tai nustatys diapazono A2 reikšmę = 1:

1 Ląstelės (2,1). Vertė = 1

Atkreipkite dėmesį, kad pirmiausia įvedate eilutės numerį:

1 Ląstelės (eilutės numeris, stulpelio numeris)

Nustatykite kelių ląstelių vertes vienu metu

Užuot nurodę vieną langelį, galite nurodyti langelių diapazoną ir keisti visas langelio reikšmes vienu metu:

1 Diapazonas („A2: A5“). Vertė = 1

Nustatykite langelio vertę - tekstas

Anksčiau pateiktuose pavyzdžiuose mes nustatome langelio vertę, lygią skaičiui (1). Vietoj to, galite nustatyti langelio vertę, lygią teksto eilutei. VBA visu tekstu turi būti citatos:

1 Diapazonas („A2“). Reikšmė = „Tekstas“

Jei neapsiribosite tekstu citatomis, VBA manys, kad nurodote kintamąjį …

Nustatyti langelio vertę - kintamasis

Taip pat galite nustatyti langelio vertę, lygią kintamajam

1234 „Dim strText“ kaip eilutėstrText = "Teksto eilutė"Diapazonas („A2“). Reikšmė = strText

Gaukite ląstelės vertę

Ląstelių reikšmes galite gauti naudodami tą pačią ypatybę Vertė, kurią naudojome aukščiau.

Gaukite „ActiveCell“ vertę

Norėdami gauti „ActiveCell“ vertę ir parodyti ją pranešimų laukelyje:

1 „MsgBox ActiveCell.Value“

Priskirkite langelio vertę kintamajam

Norėdami gauti langelio vertę ir priskirti ją kintamajam:

123 Dim var as Variantvar = Diapazonas ("A1"). Reikšmė

Čia mes naudojome Variant tipo kintamąjį. Kintamieji variantai gali priimti bet kokio tipo vertes. Vietoj to galite naudoti „String“ kintamojo tipą:

123 Dim var kaip Stringvar = Diapazonas ("A1"). Reikšmė

Eilutės kintamojo tipas priims skaitines reikšmes, tačiau išsaugos skaičius kaip tekstą.

Jei žinote, kad langelio reikšmė bus skaitinė, galite naudoti dvigubo kintamojo tipą (dvigubi kintamieji gali išsaugoti dešimtainę reikšmę):

123 Dim var kaip Doublevar = Diapazonas ("A1"). Reikšmė

Tačiau jei bandysite išsaugoti langelio vertę, kurioje yra tekstas, dvigubame kintamajame, gausite tipo neatitikimo klaidą:

Kiti langelio vertės pavyzdžiai

Kopijuoti langelio vertę

Nesunku nustatyti langelio vertę, lygią kitai langelio vertei (arba „Kopijuoti“ langelio vertę):

1 Diapazonas („A1“). Vertė = Diapazonas („B1“). Reikšmė

Tai netgi galite padaryti naudodami langelių diapazonus (diapazonai turi būti vienodo dydžio):

1 Diapazonas („A1: A5“). Vertė = diapazonas („B1: B5“). Reikšmė

Palyginkite ląstelių vertes

Ląstelių reikšmes galite palyginti naudodami standartinius palyginimo operatorius.

Patikrinkite, ar ląstelių vertės yra lygios:

1 „MsgBox“ diapazonas („A1“). Vertė = diapazonas („B1“). Reikšmė

Pateiks TRUE, jei langelių reikšmės bus lygios. Priešingu atveju NETIESA.

Taip pat galite sukurti „If“ teiginį, kad palygintumėte langelių vertes:

12345678910111213 Jei diapazonas ("A1"). Vertė> Diapazonas ("B1"). Vertė TadaDiapazonas („C1“). Vertė = „Didesnis nei“Elseifo diapazonas („A1“). Vertė = Diapazonas („B1“). Vertė TadaDiapazonas („C1“). Vertė = „Lygus“KitasDiapazonas („C1“). Vertė = „Mažiau nei“Pabaiga Jei

Galite lyginti tekstą tuo pačiu būdu (atminkite, kad VBA skiria didžiosios ir mažosios raidės)

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave