Š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)