: Excel VBA-ൽ ഉപയോക്തൃ നിർവചിക്കപ്പെട്ട തരം നിർവചിച്ചിട്ടില്ല (2 ദ്രുത പരിഹാരങ്ങൾ)

  • ഇത് പങ്കുവയ്ക്കുക
Hugh West

Excel-ൽ VBA നൊപ്പം പ്രവർത്തിക്കുമ്പോൾ നമ്മൾ നേരിടുന്ന ഏറ്റവും സാധാരണമായ പിശകുകളിലൊന്ന്, ഉപയോക്താവ് നിർവചിച്ച തരം നിർവചിക്കപ്പെട്ടിട്ടില്ല എന്നതാണ്. ഈ ലേഖനത്തിൽ, എന്തുകൊണ്ടാണ് ഈ പിശക് സംഭവിച്ചതെന്നും ഈ പിശക് എങ്ങനെ പരിഹരിക്കാമെന്നും ഞാൻ നിങ്ങളെ കാണിച്ചുതരാം.

പ്രാക്ടീസ് വർക്ക്ബുക്ക് ഡൗൺലോഡ് ചെയ്യുക

നിങ്ങൾ വ്യായാമം ചെയ്യുമ്പോൾ ഈ പരിശീലന വർക്ക്ബുക്ക് ഡൗൺലോഡ് ചെയ്യുക ഈ ലേഖനം വായിക്കുന്നു.

ഉപയോക്തൃ-നിർവചിക്കപ്പെട്ട തരം നിർവചിച്ചിട്ടില്ല Excel VBA-ൽ നിർവചിച്ചിട്ടില്ല എന്ന് ടൈപ്പ് ചെയ്യുക

Excel VBA -ൽ പതിവായി സംഭവിക്കുന്ന ഈ പിശകിന് പിന്നിൽ 2 പ്രധാന പ്രശ്‌നങ്ങളുണ്ട്. നമുക്ക് അവ വിശദമായി പര്യവേക്ഷണം ചെയ്യുകയും അവ പരിഹരിക്കാനുള്ള വഴികൾ കണ്ടെത്തുകയും ചെയ്യാം.

1. വേരിയബിളുകൾ പ്രഖ്യാപിക്കുമ്പോൾ സ്പെല്ലിംഗ് പിശക്

ഇതാണ് ഈ പിശകിന് പിന്നിലെ പ്രധാന കാരണം. മിക്കപ്പോഴും, “ഉപയോക്തൃ-നിർവചിക്കപ്പെട്ട തരം നിർവചിച്ചിട്ടില്ല” എന്ന പിശക് വേരിയബിളുകൾ പ്രഖ്യാപിക്കുമ്പോൾ ഒരു അക്ഷരപ്പിശക് മൂലമാണ് സംഭവിക്കുന്നത്.

ഇനിപ്പറയുന്ന കോഡുകളുടെ വരികൾ നോക്കുക.

6989

നിങ്ങൾ ഈ കോഡ് പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, “ഉപയോക്തൃ-നിർവചിക്കപ്പെട്ട തരം നിർവചിച്ചിട്ടില്ല” എന്ന പിശകിന്റെ സാന്നിധ്യത്തെക്കുറിച്ച് നിങ്ങളെ അറിയിക്കുന്ന ഒരു പിശക് ബോക്സ് നിങ്ങൾക്ക് ലഭിക്കും. അതിനൊപ്പം, നീല നിറത്തിൽ ഹൈലൈറ്റ് ചെയ്‌തിരിക്കുന്ന കോഡിന്റെ രണ്ടാമത്തെ വരി നിങ്ങൾ കാണും, അവിടെ ഞാൻ “സ്ട്രിംഗ്” എന്നതിന് പകരം “strng” എന്ന് എഴുതിയിരിക്കുന്നു.

0>

നിങ്ങൾക്ക് കാര്യം മനസ്സിലായി എന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു. VBA എന്നതിന് “strng” എന്ന വേരിയബിൾ തരം തിരിച്ചറിയാൻ കഴിഞ്ഞില്ല, അതുകൊണ്ടാണ് ഇത് ഒരു പുതിയ വേരിയബിൾ തരമായി കണക്കാക്കുന്നത്, നിങ്ങൾ അത് എവിടെയോ നിർവചിച്ചിട്ടുണ്ടെന്ന് കരുതുന്നു. എന്നാൽ എപ്പോൾനിങ്ങൾ ഇത് എവിടെയും പ്രഖ്യാപിച്ചിട്ടില്ലെന്ന് കണ്ടെത്തി, അത് ഒരു പിശക് ഉയർത്തി.

അതിനാൽ, ലളിതമായ VBA കോഡുകൾ പ്രവർത്തിപ്പിക്കുമ്പോൾ, നിങ്ങൾക്ക് എങ്ങനെയെങ്കിലും ഈ പിശക് നേരിടുകയാണെങ്കിൽ, ആദ്യം നിങ്ങളുടെ വേരിയബിൾ തരങ്ങളുടെ എല്ലാ അക്ഷരവിന്യാസങ്ങളും പരിശോധിക്കുക.

2. ശരിയായ റഫറൻസിംഗിന്റെ അഭാവം

ഇതാണ് ഈ പിശകിന് പിന്നിലെ മറ്റൊരു കാരണം. അത് ശരിയായ റഫറൻസിംഗിന്റെ അഭാവമാണ്. ചിലപ്പോൾ വിഷ്വൽ ബേസിക് റഫറൻസ് ബോക്‌സ് -ൽ നിന്ന് ശരിയായ റഫറൻസ് ആവശ്യമുള്ള ചില ഒബ്‌ജക്റ്റുകൾ ഞങ്ങൾ ഞങ്ങളുടെ കോഡുകളിൽ ഉപയോഗിക്കുന്നു. അല്ലെങ്കിൽ, VBA ഒബ്‌ജക്റ്റ് തിരിച്ചറിയുന്നില്ല.

ഇനിപ്പറയുന്ന VBA കോഡ് നോക്കുക.

2556

ഈ കോഡ് പ്രവർത്തിപ്പിക്കുക. നിങ്ങൾക്ക് പഴയ അതേ പിശക് ലഭിക്കും “ഉപയോക്തൃ-നിർവചിക്കപ്പെട്ട തരം നിർവചിച്ചിട്ടില്ല”, നിഘണ്ടു ഒബ്‌ജക്റ്റ് ഹൈലൈറ്റ് ചെയ്യുന്നു. VBA ന് നിഘണ്ടു ഒബ്‌ജക്റ്റ് തിരിച്ചറിയാൻ കഴിഞ്ഞില്ല, കൂടാതെ ഇത് ഒരു ഉപയോക്തൃ-നിർവചിച്ച വേരിയബിളായി കണക്കാക്കുകയും ചെയ്തു, അത് തെറ്റായി നിർവചിക്കപ്പെട്ടിട്ടില്ല.

ഇപ്പോൾ ഏറ്റവും വലിയ ചോദ്യം, ഈ പിശക് എങ്ങനെ പരിഹരിക്കാം എന്നതാണ്? എളുപ്പം. ഈ പിശക് പരിഹരിക്കാൻ 2 വഴികളുണ്ട്.

⧪ പരിഹാരം 1: വിഷ്വൽ ബോക്‌സ് റഫറൻസ് ബോക്‌സിൽ നിന്ന് ആവശ്യമായ റഫറൻസ് പരിശോധിക്കുന്നു

ഇതാണ് ഈ പ്രശ്നം പരിഹരിക്കാനുള്ള ഏറ്റവും മികച്ച മാർഗം. ഉപകരണങ്ങൾ > വിഷ്വൽ ബേസിക് റിബണിലെ റഫറൻസുകൾ ബട്ടൺ. റഫറൻസുകൾ ക്ലിക്ക് ചെയ്യുക.

റഫറൻസുകൾ എന്നൊരു ഡയലോഗ് ബോക്സ് തുറക്കും. സ്ക്രോൾ ചെയ്ത് മൈക്രോസോഫ്റ്റ് സ്ക്രിപ്റ്റിംഗ് റൺടൈം കണ്ടെത്തുക (ഇത് നിങ്ങൾ ഉപയോഗിക്കുന്ന ഒബ്ജക്റ്റിനെ ആശ്രയിച്ചിരിക്കുന്നു. നിഘണ്ടുഒബ്ജക്റ്റ് -ന് മൈക്രോസോഫ്റ്റ് സ്ക്രിപ്റ്റിംഗ് റൺടൈം അംഗീകരിക്കേണ്ടതുണ്ട്. അതിനാൽ, ഒരു VBA കോഡിൽ ഒരു ഒബ്‌ജക്റ്റ് ഉപയോഗിക്കുമ്പോൾ, VBA തിരിച്ചറിയുന്നതിന് അതിന്റെ മുൻവ്യവസ്ഥ നിങ്ങൾ അറിഞ്ഞിരിക്കണം. കൂടുതൽ വിവരങ്ങൾക്ക് ഈ ലിങ്ക് സന്ദർശിക്കുക.). ഇത് പരിശോധിക്കുക.

ഇപ്പോൾ തിരികെ വന്ന് കോഡ് റൺ ചെയ്യുക. നിങ്ങൾക്ക് പിഴവുകളൊന്നും ലഭിക്കില്ല. കാരണം VBA ന് ഇത്തവണ നിഘണ്ടുവിലെ ഒബ്‌ജക്‌റ്റ് തിരിച്ചറിയാൻ കഴിയും.

⧪ പരിഹാരം 2: ഒരു നിർദ്ദിഷ്‌ട ഒബ്‌ജക്റ്റിനേക്കാൾ ശുദ്ധമായ വസ്തുവായി പ്രഖ്യാപിക്കുന്നു

ഈ പ്രശ്നം പരിഹരിക്കാൻ മറ്റൊരു വഴിയുണ്ട്. നിഘണ്ടുവസ്‌തു എന്നതിലുപരി നിങ്ങൾക്ക് ഒബ്‌ജക്‌റ്റിനെ ശുദ്ധമായ ഒബ്‌ജക്‌റ്റായി പ്രഖ്യാപിക്കാനാകും.

ഇനിപ്പറയുന്ന കോഡുകളുടെ വരികൾ ശ്രദ്ധിക്കുക.

7851

ഇവിടെ ഞാൻ വേരിയബിൾ MyDictionary ഒരു ലളിതമായ ഒബ്‌ജക്‌റ്റായി പ്രഖ്യാപിച്ചു, ഒരു നിഘണ്ടുവല്ല. ഇപ്പോൾ നിങ്ങൾ ഈ കോഡ് പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഒരു പിശകും ലഭിക്കില്ല.

വ്യവസായത്തിൽ 10 വർഷത്തിലേറെ അനുഭവപരിചയമുള്ള വളരെ പരിചയസമ്പന്നനായ എക്സൽ പരിശീലകനും അനലിസ്റ്റുമാണ് ഹ്യൂ വെസ്റ്റ്. അക്കൗണ്ടിംഗ്, ഫിനാൻസ് എന്നിവയിൽ ബിരുദവും ബിസിനസ് അഡ്മിനിസ്ട്രേഷനിൽ ബിരുദാനന്തര ബിരുദവും നേടിയിട്ടുണ്ട്. ഹ്യൂവിന് അധ്യാപനത്തിൽ അഭിനിവേശമുണ്ട് കൂടാതെ പിന്തുടരാനും മനസ്സിലാക്കാനും എളുപ്പമുള്ള ഒരു അദ്വിതീയ അധ്യാപന സമീപനം വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. എക്സലിനെ കുറിച്ചുള്ള അദ്ദേഹത്തിന്റെ വിദഗ്ദ്ധ പരിജ്ഞാനം ലോകമെമ്പാടുമുള്ള ആയിരക്കണക്കിന് വിദ്യാർത്ഥികളെയും പ്രൊഫഷണലുകളെയും അവരുടെ കഴിവുകൾ മെച്ചപ്പെടുത്തുന്നതിനും അവരുടെ കരിയറിൽ മികവ് പുലർത്തുന്നതിനും സഹായിച്ചിട്ടുണ്ട്. തന്റെ ബ്ലോഗിലൂടെ, ഹ്യൂ തന്റെ അറിവ് ലോകവുമായി പങ്കിടുന്നു, സൗജന്യ എക്സൽ ട്യൂട്ടോറിയലുകളും ഓൺലൈൻ പരിശീലനവും വാഗ്ദാനം ചെയ്യുന്നു, വ്യക്തികളെയും ബിസിനസ്സുകളെയും അവരുടെ പൂർണ്ണ ശേഷിയിൽ എത്തിക്കാൻ സഹായിക്കുന്നു.