Nepieciešamā objekta kļūda programmā Excel VBA - problēmu novēršana

Nepieciešamo objektu kļūdu pārskats

Šī apmācība palīdzēs jums novērst objekta nepieciešamās kļūdas VBA.

<

<

Objektu pārskats

VBA objektā ir tāda lieta kā darblapa, darbgrāmata, diapazons, forma, rinda, kolonna, lietotāja forma, vadīkla utt.

Objektiem ir īpašības (exs: nosaukums, krāsa, slēpts) un metodes (exs: atvērt, notīrīt, saglabāt, paslēpt). Ja mēģināt lietot īpašumu vai metodi, VBA ir nepieciešams derīgs objekts, uz kura jāpiemēro rekvizīti vai metodes.

Ja jūs nesniedzat derīgu objektu, jūs saņemsiet Nepieciešamā objekta kļūda.

Šī rokasgrāmata palīdzēs jums novērst objektam nepieciešamās kļūdas.

#1. Opcija Skaidri / nepareizi uzrakstīti mainīgo nosaukumi

Vispirms pārbaudiet, vai esat nepareizi uzrakstījis objekta nosaukumu. Nepareizi uzrakstīts nosaukums var izraisīt objekta kļūdu.

Tas var notikt ar esošajiem objektu nosaukumiem:

<>

Vai ar mainīgiem nosaukumiem:

<>

Viens labs veids, kā novērst kļūdaini uzrakstīto mainīgo nosaukumu, ir pārliecināties, ka koda moduļa augšpusē ir norādīta opcija Explicit.

1 Skaidrs variants

Skaidrs variants liek jums deklarēt mainīgos. Tagad, atkļūdojot kodu, jūs saņemsiet ziņojumu, kas nepieciešams, lai definētu mainīgo:

<>

Tam vajadzētu palīdzēt jums saprast, ka šis mainīgais ir uzrakstīts nepareizi.

VBA programmēšana | Kodu ģenerators strādā jūsu labā!

#2 Mainīgie uzdevumi

Pēc tam pārliecinieties, vai esat pareizi piešķīris mainīgos.

Objekta mainīgie jāpiešķir, izmantojot Set Object =: <>

<>

Ja neizmantojat iestatīt objektu mainīgo piešķiršanai, tiks parādīta kļūda Objekts obligāti.

<>

Līdzīgi mainīgie, kas nav objekti, jāpiešķir bez kopas:

<>

Ja mēģināt izmantot iestatīt mainīgajam, kas nav objekts, tiks parādīta kļūda Objekts obligāti.

<>

#3 darblapas līmeņa moduļi

Vai jūsu kods ir darblapas līmeņa modulī? Ja tā, jums būs jābūt īpaši uzmanīgam, atsaucoties uz nosauktajiem diapazoniem citās darblapās.

Piemēram, jums var būt darbgrāmatas līmeņa nosaukts diapazons “Datums”, parastā koda modulī varat norādīt nosaukto diapazonu šādi:

1 MsgBox diapazons ("Datums")

Tomēr, atsaucoties uz nosaukto diapazonu no darblapas līmeņa moduļa, jums ir skaidri jādefinē darblapa, kurā atrodas nosauktais diapazons:

1 MsgBox Sheets ("Sheet2"). Diapazons ("Date"). Vērtība

Pretējā gadījumā rodas šāda kļūda:

<>

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave