Naudingos „Excel VBA“ diapazono objektų ypatybės, kurias turėtų žinoti visi

Diapazono objektas turi daugybę savybių. Galite rašyti VBA programas be pertraukos ateinančius 12 mėnesių ir niekada nenaudoti jų visų. Čia pateikiama trumpa kai kurių dažniausiai naudojamų „Excel VBA Range“ ypatybių apžvalga. Išsamios informacijos ieškokite VBE pagalbos sistemoje. (Peržiūrėkite šiuos papildomus išteklius, jei reikia pagalbos naudojant „Excel VBA“ .)

Kai kurios „Excel VBA Range“ ypatybės yra tik skaitomos, o tai reiškia, kad jūsų kodas gali peržiūrėti jų reikšmes, bet negali jų pakeisti („Žiūrėkite, bet nelieskite“). Pavyzdžiui, kiekvienas Excel VBA diapazono objektas turi ypatybę Adresas, kuriame yra diapazono adresas. Galite pasiekti šią tik skaitomą ypatybę, bet negalite jos pakeisti – tai visiškai logiška, kai galvojate apie tai.

Beje, toliau pateikiami pavyzdžiai paprastai yra teiginiai, o ne visos procedūros. Jei norite išbandyti kurį nors iš šių (ir turėtumėte), sukurkite antrinę procedūrą. Be to, daugelis šių VBA teiginių veikia tinkamai, tik jei darbalapis yra aktyvus lapas.

Excel VBA: vertės ypatybė

Ypatybė Vertė nurodo langelyje esančią vertę. Tai skaitymo ir rašymo savybė, todėl jūsų VBA kodas gali nuskaityti arba pakeisti reikšmę.

Šis teiginys rodo pranešimų laukelį, kuriame rodoma reikšmė 1 lapo langelyje A1:

MsgBox Worksheets("Sheet1").Range("A1").Value

Suprantama, kad vertės ypatybę galite nuskaityti tik vieno langelio diapazono objektui. Pavyzdžiui, šis teiginys generuoja klaidą:

MsgBox Worksheets("Sheet1").Range("A1:C3").Value

Tačiau galite pakeisti bet kokio dydžio diapazono vertės ypatybę. Šis sakinys įveda skaičių 123 į kiekvieną langelį diapazone:

Darbalapiai ("1 lapas"). Diapazonas ("A1:C3"). Reikšmė = 123

Reikšmė yra numatytoji „Excel VBA Range“ objekto ypatybė. Kitaip tariant, jei praleidžiate diapazono ypatybę, „Excel“ naudoja jos vertę. Abu šie teiginiai įveda reikšmę 75 į aktyvaus darbalapio langelį A1:

Diapazonas („A1“). Reikšmė = 75
Diapazonas („A1“) = 75

Excel VBA: teksto ypatybė

Ypatybė Tekstas grąžina eilutę, vaizduojančią tekstą taip, kaip jis rodomas langelyje – suformatuotą reikšmę. Ypatybė Tekstas yra tik skaitoma. Tarkime, kad langelyje A1 yra reikšmė 12,3 ir jis suformatuotas taip, kad būtų rodomi du po kablelio ir dolerio ženklas (12,30 USD). Šiame pareiškime rodomas pranešimo laukelis, kuriame yra 12,30 USD:

MsgBox Worksheets("Sheet1").Range("A1").Tekstas

Tačiau kitame sakinyje rodomas pranešimų laukelis, kuriame yra 12.3:

MsgBox Worksheets("Sheet1").Range("A1").Value

Jei langelyje yra formulė, ypatybė Tekstas grąžina formulės rezultatą. Jei langelyje yra tekstas, ypatybės Tekstas ir reikšmė visada pateikia tą patį, nes teksto (skirtingai nei skaičiaus) negalima suformatuoti taip, kad būtų rodomas kitaip.

Excel VBA: ypatybė Count

Ypatybė Count grąžina langelių skaičių diapazone. Jis skaičiuoja visus langelius, o ne tik netuščius langelius. „Count“ yra tik skaitoma nuosavybė, kaip ir tikitės. Šis sakinys pasiekia diapazono ypatybę Count ir pranešimo laukelyje parodo rezultatą (9):

MsgBox Range("A1:C3").Count

Excel VBA: stulpelio ir eilutės ypatybės

Ypatybė Stulpelis grąžina vieno langelio diapazono stulpelio numerį. Jo pagalbinė priemonė, ypatybė Row, grąžina vieno langelio diapazono eilutės numerį. Abi yra tik skaitomos savybės. Pavyzdžiui, šis teiginys rodomas 6, nes langelis F3 yra šeštajame stulpelyje:

MsgBox Sheets("Sheet1").Range("F3").Stulpelis

Kita išraiška rodoma 3, nes langelis F3 yra trečioje eilutėje:

MsgBox Sheets("Sheet1").Range("F3").Eilutė

Jei „Excel“ VBA diapazono objektą sudaro daugiau nei vienas langelis, ypatybė Stulpelis grąžina pirmojo diapazono stulpelio stulpelio numerį, o ypatybė Eilė – pirmosios diapazono eilutės eilutės numerį.

Nepainiokite stulpelių ir eilučių savybių su stulpelių ir eilučių savybėmis. Savybės Stulpelis ir eilutė grąžina vieną reikšmę. Kita vertus, stulpelių ir eilučių savybės grąžina diapazono objektą. Kokį skirtumą daro „s“.

Excel VBA: ypatybė Adresas

Adresas, tik skaitoma nuosavybė, rodo diapazono objekto langelio adresą kaip absoliučią nuorodą (dolerio ženklas prieš stulpelio raidę ir prieš eilutės numerį). Šis teiginys rodo toliau pateiktą pranešimų laukelį:

MsgBox diapazonas (ląstelės (1, 1), ląstelės (5, 5)). Adresas

Naudingos „Excel VBA“ diapazono objektų ypatybės, kurias turėtų žinoti visi

Šiame pranešimų laukelyje rodoma 5 x 5 diapazono ypatybė Adresas.

Excel VBA: HasFormula nuosavybė

Ypatybė HasFormula (kuri yra tik skaitoma) grąžina True, jei vieno langelio diapazone yra formulė. Jis grąžina False, jei langelyje yra kažkas kito nei formulė (arba jis tuščias). Jei diapazoną sudaro daugiau nei vienas langelis, VBA grąžina True, tik jei visuose diapazono langeliuose yra formulė, arba False, jei visuose diapazono langeliuose formulės nėra. Savybė grąžina Null, jei diapazone yra formulių ir neformulių mišinys. Nulis yra tarsi niekieno žemė: atsakymas nėra nei teisingas, nei klaidingas, o bet kuri diapazono langelis gali turėti arba neturėti formulės.

Turite būti atsargūs dirbdami su savybėmis, kurios gali grąžinti Null. Tiksliau, vienintelis duomenų tipas, galintis susidoroti su Null, yra Variant.

Pavyzdžiui, tarkime, kad langelyje A1 yra reikšmė, o langelyje A2 yra formulė. Šie teiginiai sukuria klaidą, nes diapazoną sudaro ne visos formulės arba visos neformulės:

Pritemdykite Formulės testą kaip Būlio reikšmę
FormulaTest = diapazonas("A1:A2").HasFormula

Būlio duomenų tipas gali apdoroti tik True arba False. Nulis sukelia Excel skųstis ir rodo klaidos pranešimą. Norint ištaisyti tokio tipo situaciją, geriausia įsitikinti, kad FormulaTest kintamasis yra deklaruojamas kaip variantas, o ne kaip loginis. Šiame pavyzdyje naudojama patogi VBA funkcija TypeName (kartu su konstrukcija If-Then-Else), kad nustatytų FormulaTest kintamojo duomenų tipą. Jei diapazone yra formulių ir neformulių mišinys, pranešimų laukelyje rodoma Mixed! Kitu atveju rodoma True arba False .

Sub CheckFormulas()
  Dim FormulaTest kaip variantas
  FormulaTest = diapazonas("A1:A2").HasFormula
  Jei TypeName(FormulaTest) = "Null" Tada
    MsgBox "Mišrus!"
  Kitas
    MsgBox FormulaTest
  Pabaiga, jei
Pabaigos sub

Excel VBA: šrifto ypatybė

Turtas gali grąžinti daiktą. „Excel VBA Range“ objekto šrifto ypatybė yra dar vienas šios koncepcijos pavyzdys. Šrifto ypatybė grąžina šrifto objektą.

Šrifto objektas, kaip galite tikėtis, turi daug pasiekiamų savybių. Norėdami pakeisti tam tikrą diapazono šrifto aspektą, pirmiausia turite pasiekti diapazono šrifto objektą ir manipuliuoti to objekto ypatybėmis. Tai gali būti painu, bet galbūt šis pavyzdys padės.

Šis teiginys naudoja objekto Range ypatybę Font, kad grąžintų šrifto objektą. Tada objekto Šriftas ypatybė Bold nustatoma į True. Paprasta anglų kalba šis teiginys langelis rodomas paryškintu šriftu:

Diapazonas("A1").Šriftas.Bold = True

Tiesa ta, kad jums tikrai nereikia žinoti, kad dirbate su specialiu šrifto objektu, esančiu „Excel VBA Range“ objekte. Kol naudojate tinkamą sintaksę, ji veikia puikiai. Dažnai įrašydami savo veiksmus naudodami makrokomandos įrašymo įrenginį sužinosite viską, ką reikia žinoti apie tinkamą sintaksę.

Excel VBA: vidinė nuosavybė

Štai dar vienas nuosavybės, kuri grąžina objektą, pavyzdys. Diapazono objekto savybė „Interjeras“ grąžina objektą „Interjeras“ (keistas pavadinimas, bet taip jis vadinamas). Šio tipo objektų nuorodos veikia taip pat, kaip ir šrifto ypatybė.

Pavyzdžiui, šis teiginys pakeičia interjero objekto, esančio objekte Range, ypatybę Color:

Diapazonas ("A1").Interjeras.Spalva = 8421504

Kitaip tariant, šis teiginys pakeičia ląstelės foną į vidutiniškai pilką. Kas tai? Ar nežinojote, kad 8421504 yra vidutinio pilkumo? Norėdami sužinoti daugiau apie nuostabų „Excel“ spalvų pasaulį, žr. netoliese esančią šoninę juostą „Greitas ir purvinas spalvų gruntas“.

Excel VBA: Formulės ypatybė

Ypatybė Formulė reiškia formulę langelyje. Tai yra skaitymo ir rašymo savybė, todėl galite ją pasiekti norėdami peržiūrėti formulę langelyje arba įterpti formulę į langelį. Pavyzdžiui, šis teiginys įveda SUM formulę į langelį A13:

Diapazonas("A13"). Formulė = "=SUM(A1:A12)"

Atkreipkite dėmesį, kad formulė yra teksto eilutė ir yra kabutėse. Taip pat atkreipkite dėmesį, kad formulė, kaip ir visos formulės, prasideda lygybės ženklu.

Jei pačioje formulėje yra kabučių, viskas tampa šiek tiek sudėtinga. Pasakykite, kad norite įterpti šią formulę naudodami VBA:

=SUM(A1:A12)&"Parduotuvės"

Šioje formulėje pateikiama reikšmė, po kurios eina žodis parduotuvės . Kad ši formulė būtų priimtina, kiekvieną formulės kabutę turite pakeisti dviem kabutėmis. Priešingu atveju VBA susipainioja ir teigia, kad yra sintaksės klaida (nes yra!). Taigi čia yra teiginys, kuriame įvedama formulė, kurioje yra kabučių:

Diapazonas("A13"). Formulė = "=SUM(A1:A12)&"" Parduotuvės"""

Beje, galite pasiekti langelio ypatybę Formulė, net jei langelis neturi formulės. Jei langelyje formulės nėra, ypatybė Formulė grąžina tokią pat, kaip ir vertė.

Jei norite sužinoti, ar langelis turi formulę, naudokite ypatybę HasFormula.

Atminkite, kad VBA „kalba“ JAV angliškai. Tai reiškia, kad norėdami įdėti formulę į langelį, turite naudoti JAV sintaksę. Jei naudojate ne anglišką „Excel“ versiją, skaitykite žinyno sistemos FormulaLocal ypatybę.

Excel VBA: ypatybė NumberFormat

Ypatybė NumberFormat nurodo diapazono objekto skaičių formatą (išreikštą kaip teksto eilutę). Tai yra skaitymo ir rašymo savybė, todėl jūsų VBA kodas gali patikrinti skaičių formatą arba jį pakeisti. Šis teiginys pakeičia A stulpelio skaičių formatą į procentą su dviem skaitmenimis po kablelio:

Stulpeliai ("A:A").Skaičių formatas = "0,00%"

Atlikite šiuos veiksmus, kad pamatytumėte kitų skaičių formatų sąrašą (dar geriau, kai tai darysite, įjunkite makrokomandų įrašymo įrenginį):

Suaktyvinkite darbalapį.

Paspauskite Ctrl+1, kad pasiektumėte dialogo langą Format Cells.

Spustelėkite skirtuką Skaičius.

Pasirinkite tinkintą kategoriją, kad peržiūrėtumėte ir pritaikytumėte kai kurias papildomas skaičių formato eilutes.


Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti Microsoft Word atidaryti failų tik skaitymo režimu sistemoje Windows. Microsoft Word atidaro failus tik skaitymo režimu, todėl jų redaguoti neįmanoma? Nesijaudinkite, metodai pateikiami žemiau

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti klaidas spausdinant neteisingus Microsoft Word dokumentus.Klaidos spausdinant Word dokumentus su pakeistais šriftais, netvarkingomis pastraipomis, trūkstamo teksto ar prarasto turinio yra gana dažnos. Tačiau nereikia

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Jei naudodami rašiklį ar žymeklį piešėte ant savo PowerPoint skaidrės pristatymo metu, galite išsaugoti brėžinius kitam pristatymui arba ištrinti juos, kad kitą kartą rodydami pradėtumėte nuo švarių PowerPoint skaidrių. Vykdykite šias instrukcijas, kad ištrintumėte rašiklio ir žymeklio piešinius: Trinti linijas po vieną […]

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekoje yra CSS failų, XSL (Extensible Stylesheet Language) failų ir vaizdų, naudojamų iš anksto nustatytų puslapių puslapiuose, puslapių išdėstymuose ir valdikliuose „SharePoint 2010“. Norėdami rasti CSS failus publikavimo svetainės stilių bibliotekoje: pasirinkite Svetainės veiksmai → Peržiūrėti Visas svetainės turinys. Pasirodo svetainės turinys. Stiliaus biblioteka yra […]

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Neužkraukite savo auditorijos milžiniškais skaičiais. Programoje „Microsoft Excel“ galite pagerinti informacijos suvestinių ir ataskaitų skaitomumą formatuodami skaičius, kad jie būtų rodomi tūkstančiais arba milijonais.

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Sužinokite, kaip naudoti „SharePoints“ socialinių tinklų įrankius, leidžiančius asmenims ir grupėms bendrauti, bendradarbiauti, bendrinti ir prisijungti.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Julijaus datos dažnai naudojamos gamybos aplinkoje kaip laiko žyma ir greita partijos numerio nuoroda. Šio tipo datos kodavimas leidžia mažmenininkams, vartotojams ir paslaugų agentams nustatyti, kada produktas buvo pagamintas, taigi ir produkto amžių. Julijaus datos taip pat naudojamos programavimo, kariuomenės ir astronomijos srityse. Skirtingi […]

Kaip sukurti „Access“ žiniatinklio programą

Kaip sukurti „Access“ žiniatinklio programą

Galite sukurti žiniatinklio programą naudodami „Access 2016“. Taigi, kas vis dėlto yra žiniatinklio programa? Na, žiniatinklis reiškia, kad jis yra internete, o programa yra tik „programos“ santrumpa. Pasirinktinė žiniatinklio programa yra internetinė duomenų bazės programa, pasiekiama iš debesies naudojant naršyklę. Kuriate ir prižiūrite žiniatinklio programą darbalaukio versijoje […]

Greitosios paleidimo juosta „SharePoint 2010“.

Greitosios paleidimo juosta „SharePoint 2010“.

Daugumoje „SharePoint 2010“ puslapių sparčiojo paleidimo juostoje, esančioje kairėje puslapio pusėje, pateikiamas naršymo nuorodų sąrašas. Greitosios paleidimo juostoje rodomos nuorodos į siūlomą svetainės turinį, pvz., sąrašus, bibliotekas, svetaines ir publikavimo puslapius. Greitojo paleidimo juostoje yra dvi labai svarbios nuorodos: Visas svetainės turinys: […]

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais „Solver“ paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama problema, kurią […]