Atsauce uz darblapu ar objekta mainīgo - Excel padomi

Satura rādītājs

Džo mēģina maldināt kļūdu jaunā makro, kuru viņš tikko uzrakstīja.

Līnija, kas piešķir NextRow, atgriež kļūdu, kas saka "Objekta mainīgais vai Ar bloka mainīgo nav iestatīts".

Objekta mainīgie ir diezgan forši. Vecajos padomos vietnē es izmantotu šādu regulāru mainīgo:

OrigName = ActiveSheet.Name Worksheets(OrigName).Copy

Ir labāks veids. Mainīgo var definēt kā jebkuru objektu, piemēram, darblapu. Tam ir vairākas priekšrocības. Darblapu (OrigName) vietā ir īsāk izmantot objekta mainīgo. Turklāt, rakstot kodu, VBA zinās, ka mainīgais ir darblapa, un pēc punkta ievadīšanas piedāvās atbilstošās īpašības un metodes. Šis ir jaunais kods:

Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy

Tomēr triks ir tāds, ka, ja jums ir objekta mainīgais, tas jāpiešķir ar iestatīto atslēgvārdu. Ja neizdodas kodā ievietot kopu, jūs iegūsit nedaudz ne intuitīvu "Object Variable vai With Block Variable Not Set". Džo vienkārši pirms viņa mainīgā uzdevuma jānorāda vārds Set.

Interesanti raksti...