Odkazování na list s proměnnou objektu - Excel tipy

Obsah

Joe se snaží vymyslet chybu v novém makru, které právě napsal.

Řádek, který přiřazuje NextRow, vrací chybu, která říká „Proměnná objektu nebo Není nastavena proměnná bloku“.

Proměnné objektů jsou docela skvělé. Ve starých tipech na bych použil běžnou proměnnou, jako jsou tyto:

OrigName = ActiveSheet.Name Worksheets(OrigName).Copy

Existuje lepší způsob. Proměnnou můžete definovat jako libovolný objekt, například jako list. To má několik výhod. Je kratší použít proměnnou objektu místo pracovních listů (OrigName). Při psaní kódu bude VBA také vědět, že proměnná je list a po zadání tečky nabídne příslušné vlastnosti a metody. Zde je nový kód:

Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy

Trik však spočívá v tom, že když máte proměnnou objektu, musí být přiřazena klíčovému slovu Set. Pokud se vám nepodaří dát sadu do kódu, dostanete poněkud neintuitivní "Objektovou proměnnou nebo S blokovou proměnnou nenastavenou". Joe prostě musí předřadit své proměnné přiřazení slovem Set.

Zajímavé články...