Henvisning til et regneark med objektvariabel - Excel-tips

Innholdsfortegnelse

Joe prøver å pusle ut en feil på en ny makro som han nettopp skrev.

Linjen som tildeler NextRow returnerer en feil som sier "Objektvariabel eller med blokkvariabel ikke satt".

Objektvariabler er ganske kule. I de gamle tipsene på ville jeg bruke en vanlig variabel som disse:

OrigName = ActiveSheet.Name Worksheets(OrigName).Copy

Det er en bedre måte. Du kan definere en variabel som et hvilket som helst objekt, for eksempel et regneark. Det er flere fordeler med dette. Det er kortere å bruke objektvariabelen i stedet for regneark (OrigName). Når du skriver kode, vil VBA også vite at variabelen er et regneark og tilbyr de riktige egenskapene og metodene etter at du har skrevet inn prikken. Her er den nye koden:

Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy

Trikset er imidlertid at når du har en objektvariabel, må den tildeles Set-nøkkelordet. Hvis du ikke klarer å sette settet i koden, får du den noe ikke-intuitive "Object Variable or With Block Variable Not Set". Joe trenger bare å gå foran sitt variable oppdrag med ordet Set.

Interessante artikler...