Range hlutur hefur heilmikið af eiginleikum. Þú getur skrifað VBA forrit stanslaust næstu 12 mánuðina og aldrei notað þau öll. Hér færðu stutt yfirlit yfir nokkrar af algengustu eiginleikum Excel VBA Range. Nánari upplýsingar er að finna í hjálparkerfinu í VBE. (Kíktu á þessi viðbótarúrræði til að fá aðstoð við Excel VBA .)
Sumir Excel VBA Range eiginleikar eru skrifvarandi eiginleikar, sem þýðir að kóðinn þinn getur skoðað gildi þeirra en getur ekki breytt þeim ("Sjáðu, en snertu ekki"). Til dæmis, sérhver Excel VBA Range hlutur hefur Address eiginleika, sem geymir heimilisfang sviðsins. Þú getur fengið aðgang að þessari skrifvarða eign, en þú getur ekki breytt henni - sem er fullkomlega skynsamlegt þegar þú hugsar um það.
Við the vegur, dæmin sem fylgja eru venjulega staðhæfingar frekar en fullkomnar verklagsreglur. Ef þú vilt prófa eitthvað af þessu (og þú ættir að gera það), búðu til undirferli til að gera það. Einnig virka margar af þessum VBA yfirlýsingum aðeins rétt ef vinnublað er virka blaðið.
Excel VBA: Value eignin
Eiginleikinn Value táknar gildið sem er í reit. Það er lesa-skrifa eign, þannig að VBA kóðinn þinn getur annað hvort lesið eða breytt gildinu.
Eftirfarandi setning sýnir skilaboðareit sem sýnir gildið í reit A1 á blaði1:
MsgBox Worksheets("Sheet1").Range("A1").Value
Það er eðlilegt að þú getur aðeins lesið gildiseignina fyrir einfrumu Range hlut. Til dæmis myndar eftirfarandi setning villu:
MsgBox Worksheets("Sheet1").Range("A1:C3").Value
Þú getur hins vegar breytt Value eiginleikanum fyrir svið af hvaða stærð sem er. Eftirfarandi staðhæfing setur töluna 123 inn í hvern reit á bilinu:
Vinnublöð("Sheet1").Range("A1:C3").Value = 123
Gildi er sjálfgefin eign fyrir Excel VBA Range hlut. Með öðrum orðum, ef þú sleppir eign fyrir Range notar Excel Value eiginleikann hans. Eftirfarandi staðhæfingar slá báðar inn gildið 75 í reit A1 á virka vinnublaðinu:
Range("A1"). Gildi = 75
Svið ("A1") = 75
Excel VBA: Textaeignin
Texti eiginleikin skilar streng sem táknar textann eins og hann er sýndur í reit - sniðið gildi. Texti eiginleiki er skrifvarinn. Segjum að reit A1 innihaldi gildið 12,3 og sé sniðið til að sýna tvo aukastafi og dollaramerki ($12,30). Eftirfarandi yfirlýsing sýnir skilaboðareit sem inniheldur $12,30:
MsgBox Worksheets("Sheet1").Range("A1").Texti
En næsta fullyrðing sýnir skilaboðareit sem inniheldur 12.3:
MsgBox Worksheets("Sheet1").Range("A1").Value
Ef hólfið inniheldur formúlu, skilar eiginleikinn Texti niðurstöðu formúlunnar. Ef hólf inniheldur texta, skila eiginleiki Texti og Gildi eiginleiki alltaf sama hlutnum, því ekki er hægt að forsníða texta (ólíkt tölum) þannig að hann birtist öðruvísi.
Excel VBA: The Count eign
Eiginleikinn Count skilar fjölda hólfa á bili. Það telur allar frumur, ekki bara óauðu frumurnar. Count er skrifvarinn eign, alveg eins og þú mátt búast við. Eftirfarandi setning opnar Count eiginleika sviðs og sýnir niðurstöðuna (9) í skilaboðareit:
MsgBox Range("A1:C3"). Count
Excel VBA: Eiginleikar dálks og línu
Eiginleikinn Dálkur skilar dálknúmeri eins frumusviðs. Hliðarmaður þess, Row eignin, skilar línunúmeri eins frumusviðs. Báðar eru skrifvarandi eiginleikar. Til dæmis sýnir eftirfarandi setning 6 vegna þess að reit F3 er í sjötta dálki:
MsgBox Sheets("Sheet1").Range("F3").Dálkur
Næsta tjáning sýnir 3 vegna þess að klefi F3 er í þriðju röð:
MsgBox Sheets("Sheet1").Range("F3").Row
Ef Excel VBA Range hluturinn samanstendur af fleiri en einum reit, skilar Eiginleikinn Dálkur dálknúmeri fyrsta dálksins á bilinu og Row eiginleikin skilar línunúmeri fyrstu línunnar á bilinu.
Ekki rugla saman dálk- og línueiginleikum við eiginleika dálka og línu. Eiginleikar Dálks og línu skila einu gildi. Eiginleikar dálka og raðir skila aftur á móti Range hlut. Þvílíkur munur sem „s“ gerir.
Excel VBA: The Address eign
Heimilisfang, sem er skrifvarinn eiginleiki, sýnir hólfsfang fyrir Range hlut sem algera tilvísun (dollarmerki á undan dálkbókstafnum og á undan línunúmerinu). Eftirfarandi yfirlýsing sýnir skilaboðareitinn sem sýndur er hér að neðan:
MsgBox Range(Cells(1, 1), Cells(5, 5)). Heimilisfang

Þessi skilaboðakassi sýnir Address-eiginleika 5-í-5 sviðs.
Excel VBA: HasFormula eignin
Eiginleikinn HasFormula (sem er skrifvarinn) skilar True ef einfrumusviðið inniheldur formúlu. Það skilar False ef hólfið inniheldur eitthvað annað en formúlu (eða er tómt). Ef sviðið samanstendur af fleiri en einum reit, skilar VBA True aðeins ef allar reitur á sviðinu innihalda formúlu eða False ef allar reitur á bilinu eru ekki með formúlu. Eiginleikinn skilar Núll ef svið inniheldur blöndu af formúlum og óformúlum. Núll er eins konar einskonar einskonar land: Svarið er hvorki satt né ósatt og hvaða hólf sem er á bilinu getur verið með formúlu eða ekki.
Þú þarft að vera varkár þegar þú vinnur með eiginleika sem geta skilað Null. Nánar tiltekið, eina gagnategundin sem getur tekist á við Null er Variant.
Til dæmis, gerðu ráð fyrir að reit A1 innihaldi gildi og reit A2 innihaldi formúlu. Eftirfarandi staðhæfingar mynda villu vegna þess að sviðið samanstendur ekki af öllum formúlum eða öllum óformúlum:
Dim FormulaTest As Boolean
FormulaTest = Range("A1:A2").HasFormula
Boolean gagnategundin getur aðeins séð um True eða False. Null veldur því að Excel kvartar og birtir villuboð. Til að laga þessa tegund af aðstæðum er best að ganga úr skugga um að FormulaTest breytan sé lýst sem afbrigði frekar en sem Boolean. Eftirfarandi dæmi notar handhæga TypeName fall VBA (ásamt If-Then-Else smíði) til að ákvarða gagnagerð FormulaTest breytunnar. Ef sviðið hefur blöndu af formúlum og óformúlum birtir skilaboðareiturinn Blandað! Annars sýnir það True eða False .
Sub CheckForFormulas()
Dim FormulaTest sem afbrigði
FormulaTest = Range("A1:A2").HasFormula
Ef TypeName(FormulaTest) = "Null" Þá
MsgBox "Blandað!"
Annar
MsgBox FormulaTest
End If
End Sub
Excel VBA: Letureignin
Eign getur skilað hlut. Leturgerð Excel VBA Range hlutar er annað dæmi um það hugtak í vinnunni. Font eignin skilar Font hlut.
Leturhlutur, eins og þú mátt búast við, hefur marga aðgengilega eiginleika. Til að breyta einhverjum þætti leturgerðar sviðs verður þú fyrst að fá aðgang að leturhlut sviðsins og síðan vinna með eiginleika þess hlutar. Þetta gæti verið ruglingslegt, en kannski hjálpar þetta dæmi.
Eftirfarandi setning notar Font eiginleika Range hlutarins til að skila Font hlut. Þá er Bold eiginleiki leturhlutarins stilltur á True. Á venjulegri ensku gerir þessi yfirlýsing klefann feitletruð:
Range("A1").Font.Bold = True
Sannleikurinn er sá að þú þarft í raun ekki að vita að þú sért að vinna með sérstakan leturhlut sem er í Excel VBA Range hlut. Svo lengi sem þú notar rétta setningafræði virkar það bara fínt. Oft segir það allt sem þú þarft að vita um rétta setningafræði þegar þú skráir aðgerðir þínar með macro upptökutækinu.
Excel VBA: Innri eignin
Hér er enn eitt dæmið um eiginleika sem skilar hlut. Innri eiginleiki Range-hluts skilar Interior-hlut (skrýtið nafn, en það er það sem það heitir). Þessi tegund af tilvísun hluta virkar á sama hátt og leturgerðin.
Til dæmis breytir eftirfarandi fullyrðing eiginleikanum Color á Interior hlutnum sem er í Range hlutnum:
Range("A1").Interior.Color = 8421504
Með öðrum orðum, þessi fullyrðing breytir bakgrunni frumunnar í miðgráan. Hvað er þetta? Þú vissir ekki að 8421504 er miðgrátt? Fyrir smá innsýn í dásamlegan litaheim Excel, sjá hliðarstikuna í nágrenninu „Fljótur og óhreinn litagrunnur.
Excel VBA: Formúlueignin
Formúla eignin táknar formúluna í reit. Þetta er les- og skrifaeiginleiki, svo þú getur fengið aðgang að honum til að annað hvort skoða formúluna í reit eða setja formúlu inn í reit. Til dæmis, eftirfarandi setning setur SUM formúlu inn í reit A13:
Range("A13"). Formúla = "=SUM(A1:A12)"
Taktu eftir að formúlan er textastrengur og er innan um gæsalappir. Taktu líka eftir því að formúlan byrjar á jöfnunarmerki eins og allar formúlur gera.
Ef formúlan sjálf inniheldur gæsalappir verða hlutirnir svolítið erfiðir. Segðu að þú viljir setja inn þessa formúlu með því að nota VBA:
=SUM(A1:A12)&" Verslanir"
Þessi formúla sýnir gildi á eftir orðinu Verslanir . Til að gera þessa formúlu viðunandi þarftu að skipta út öllum gæsalappum í formúlunni fyrir tvær gæsalappir. Annars ruglast VBA og heldur því fram að það sé setningafræðivilla (vegna þess að það er það!). Svo hér er fullyrðing sem fer inn í formúlu sem inniheldur gæsalappir:
Range("A13").Formula = "=SUM(A1:A12)&"" Stores"""
Við the vegur, þú getur fengið aðgang að formúlueiginleika hólfs jafnvel þótt hólfið hafi ekki formúlu. Ef hólf hefur enga formúlu skilar formúlueiginleikinn það sama og gildiseiginleikinn.
Ef þú þarft að vita hvort reit hefur formúlu, notaðu HasFormula eiginleikann.
Vertu meðvituð um að VBA „talar“ bandaríska ensku. Þetta þýðir að til að setja formúlu í reit verður þú að nota bandaríska setningafræði. Ef þú notar ekki enska útgáfu af Excel skaltu lesa þig til um FormulaLocal eignina í hjálparkerfinu.
Excel VBA: NumberFormat eignin
Eiginleikinn NumberFormat táknar talnasnið (gefin upp sem textastreng) Range hlutarins. Þetta er les- og skrifaeiginleiki, þannig að VBA kóðinn þinn getur annað hvort skoðað númerasniðið eða breytt því. Eftirfarandi fullyrðing breytir talnasniði dálks A í prósentu með tveimur aukastöfum:
Columns("A:A").NumberFormat = "0,00%"
Fylgdu þessum skrefum til að sjá lista yfir önnur númerasnið (betra er að kveikja á makróupptökutækinu á meðan þú gerir þetta):
Virkjaðu vinnublað.
Ýttu á Ctrl+1 til að opna gluggann Format Cells.
Smelltu á Number flipann.
Veldu sérsniðna flokkinn til að skoða og nota nokkra viðbótarnúmerasniðsstrengi.