Laskentataulukon viittaaminen objektimuuttujaan - Excel-vinkit

Sisällysluettelo

Joe yrittää paljastaa virheen uudessa makrossa, jonka hän juuri kirjoitti.

Seuraava rivi osoittava rivi palauttaa virheen, joka sanoo "Object Variable tai With Block Variable Not Set".

Objektimuuttujat ovat melko hienoja. Vanhoissa vinkeissä, käytän tällaista säännöllistä muuttujaa:

OrigName = ActiveSheet.Name Worksheets(OrigName).Copy

On parempi tapa. Voit määrittää muuttujaksi minkä tahansa objektin, kuten laskentataulukon. Tällä on useita etuja. Lyhyempi on käyttää objektimuuttujaa laskentataulukoiden (OrigName) sijaan. Lisäksi, kun kirjoitat koodia, VBA tietää, että muuttuja on laskentataulukko ja tarjoaa sopivat ominaisuudet ja menetelmät pisteen kirjoittamisen jälkeen. Tässä on uusi koodi:

Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy

Temppu on kuitenkin se, että kun sinulla on objektimuuttuja, se on määritettävä Set-avainsanalla. Jos et lisää joukkoa koodiin, saat jonkin verran ei-intuitiivisen "Object Variable tai With Block Variable Not Set". Joe tarvitsee vain edeltää muuttuvaa tehtäväänsä sanalla Set.

Mielenkiintoisia artikkeleita...