Pozivanje na radni list s objektnom varijablom - Excel savjeti

Sadržaj

Joe pokušava odgonetnuti pogrešku na novoj makronaredbi koju je upravo napisao.

Redak koji dodjeljuje NextRow vraća pogrešku koja kaže "Object Variable or With Block Variable Not Set".

Objektne varijable su prilično cool. U starim savjetima na adresi koristio bih uobičajenu varijablu poput ove:

OrigName = ActiveSheet.Name Worksheets(OrigName).Copy

Postoji bolji način. Varijablu možete definirati kao bilo koji objekt, poput radnog lista. To ima nekoliko prednosti. Kraće je koristiti objektnu varijablu umjesto Radnih listova (OrigName). Tijekom upisivanja koda, VBA će znati da je varijabla radni list i ponuditi odgovarajuća svojstva i metode nakon što upišete točku. Evo novog koda:

Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy

Trik je, međutim, da kada imate varijablu objekta, ona mora biti dodijeljena s ključnom riječi Set. Ako Set ne uspijete staviti u kod, dobit ćete pomalo neintuitivnu "Object Variable or With Block Variable Not Set". Joe jednostavno treba ispred zadatka varijable preći riječ Set.

Zanimljivi članci...