Það er mikilvægt að vísa í hlut í VBA kóðanum þínum vegna þess að þú verður að bera kennsl á hlutinn sem þú vilt vinna með í Excel 2016. Eftir allt saman, VBA getur ekki lesið hug þinn - ennþá. Það er orðrómur um að huglestrarhluturinn verði kynntur í Excel 2019.
Þú getur unnið með heilt safn af hlutum í einu höggi. Hins vegar þarf oftar að vinna með ákveðinn hlut í safni (eins og tiltekið vinnublað í vinnubók). Til að vísa til einstaks hlutar úr safni seturðu nafn hlutar eða vísitölu í sviga á eftir nafni safnsins, svona:
Vinnublöð („Sheet1“)
Taktu eftir að nafn blaðsins er innan gæsalappa. Ef þú sleppir gæsalöppunum mun Excel ekki geta borið kennsl á hlutinn (og mun gera ráð fyrir að það sé breytuheiti).
Ef Sheet1 er fyrsta (eða eina) vinnublaðið í safninu geturðu líka notað eftirfarandi tilvísun:
Vinnublöð (1)
Í þessu tilviki er talan ekki innan gæsalappa. Kjarni málsins? Ef þú vísar í hlut með því að nota nafn hans skaltu nota gæsalappir. Ef þú vísar í hlut með því að nota vísitölu hans, notaðu venjulega tölu án gæsalappa.
Hvað með töflublöð? Kortablað inniheldur eitt kort. Það er með blaðflipa, en það er ekki vinnublað. Jæja, eins og það kemur í ljós hefur hlutlíkanið safn sem kallast Charts. Þetta safn inniheldur alla hluti kortablaðsins í vinnubók (og inniheldur ekki töflur sem eru felldar inn í vinnublað).
Og bara til að halda hlutunum rökréttum, þá er annað safn sem heitir Sheets. Sheets safnið inniheldur öll blöð (vinnublöð og töflublöð) í vinnubók. Sheets safnið er vel ef þú vilt vinna með öll blöð í vinnubók og er alveg sama hvort þau eru vinnublöð eða töflublöð.
Þannig að eitt vinnublað sem heitir Sheet1 er aðili að tveimur söfnum: Vinnublaðasafninu og Sheetsafninu. Þú getur vísað til þess á annan hvorn tveggja vegu:
Vinnublöð („Sheet1“)
Sheets ("Sheet1")
Að fletta í gegnum stigveldið
Ef þú vilt vinna með Excel hluti eru þeir allir undir forritahlutnum. Svo byrjaðu á því að slá inn Application .
Annar hver hlutur í hlutlíkani Excel er undir forritshlutnum. Þú kemst að þessum hlutum með því að færa þig niður stigveldið og tengja hvern hlut á leiðinni við punkta (.) aðgerðina. Til að komast að vinnubókarhlutnum sem heitir Book1.xlsx, byrjaðu á forritahlutnum og flettu niður að vinnubókasafnshlutnum:
Application.Workbooks(„Book1.xlsx“)
Til að fletta lengra að tilteknu vinnublaði skaltu bæta við punktaaðgerð og fá aðgang að safnhlutnum Vinnublað:
Application.Workbooks(“Book1.xlsx“).Vinnublöð(1)
Ekki nógu langt ennþá? Ef þú vilt virkilega fá gildið úr reit A1 á fyrsta vinnublaði vinnubókarinnar sem heitir Book1.xlsx, þarftu að fletta einu stigi í viðbót að Range hlutnum:
Application.Workbooks(“Book1.xlsx“).Worksheets(1).Range(“A1“).Value
Þegar þú vísar í Range hlut á þennan hátt er það kallað fullgild tilvísun. Þú hefur sagt Excel nákvæmlega hvaða svið þú vilt, á hvaða vinnublaði og í hvaða vinnubók og hefur ekkert eftir ímyndunaraflinu. Ímyndunaraflið er gott í fólki en ekki eins gott í tölvuforritum.
Við the vegur, vinnubók nöfn hafa einnig punkt til að skilja skráarheiti frá endingu (til dæmis, Book1.xlsx). Það er bara tilviljun. Punkturinn í skráarnafni hefur alls ekkert með punktaaðgerðina að gera.
Einfaldar tilvísanir í hlut
Ef þú værir krafinn um að fullgilda hverja tilvísun til hluta sem þú gerir, myndi kóðinn þinn verða frekar langur og það gæti verið erfiðara að lesa hann. Sem betur fer veitir Excel þér nokkrar flýtileiðir sem geta bætt læsileikann (og sparað þér innslátt). Til að byrja með er alltaf gert ráð fyrir forritshlutnum. Það eru aðeins örfá tilvik þegar skynsamlegt er að slá það inn. Með því að sleppa tilvísun forritshlutar styttist dæmið í
Vinnubækur(“Book1.xlsx“).Vinnublöð(1).Range(“A1“).Value
Það er nokkuð góð framför. En bíddu, það er meira. Ef þú ert viss um að Book1.xlsx sé virka vinnubókin geturðu sleppt þeirri tilvísun líka. Nú ertu kominn að
Vinnublöð(1).Range(“A1”).Value
Nú ertu að komast eitthvað. Hefur þú giskað á næstu flýtileið? Það er rétt. Ef þú veist að fyrsta vinnublaðið er virka vinnublaðið, gerir Excel ráð fyrir þeirri tilvísun og leyfir þér bara að slá inn
Svið ("A1"). Gildi
Öfugt við það sem sumir kunna að halda, er Excel ekki með Cell hlut. A klefi er einfaldlega Range hlut sem samanstendur af aðeins eitt frumefni.
Flýtileiðirnar sem hér er lýst eru frábærar, en þær geta líka verið hættulegar. Hvað ef þú heldur að Book1.xlsx sé virka vinnubókin? Þú gætir fengið villu, eða það sem verra er, þú gætir fengið rangt gildi og áttar þig ekki einu sinni á því að það er rangt. Af þeirri ástæðu er oft best að fullgilda tilvísanir í hlut.
With-End With uppbyggingin hjálpar þér að fullgilda tilvísanir þínar en hjálpar einnig til við að gera kóðann læsilegri og draga úr innsláttinum. Það besta af báðum heimum!