: Excel VBAలో ​​వినియోగదారు నిర్వచించిన రకం నిర్వచించబడలేదు (2 త్వరిత పరిష్కారాలు)

  • దీన్ని భాగస్వామ్యం చేయండి
Hugh West

ఎక్సెల్‌లో VBA తో పని చేస్తున్నప్పుడు మనం ఎదుర్కొనే అత్యంత సాధారణ లోపాలలో ఒకటి వినియోగదారు నిర్వచించిన రకం నిర్వచించబడలేదు. ఈ వ్యాసంలో, ఈ లోపం ఎందుకు సంభవించింది మరియు ఈ లోపాన్ని ఎలా పరిష్కరించాలో నేను మీకు చూపుతాను.

ప్రాక్టీస్ వర్క్‌బుక్‌ని డౌన్‌లోడ్ చేయండి

మీరు వ్యాయామం చేస్తున్నప్పుడు ఈ అభ్యాస వర్క్‌బుక్‌ని డౌన్‌లోడ్ చేయండి ఈ కథనాన్ని చదువుతున్నారు.

వినియోగదారు నిర్వచించిన రకం నిర్వచించబడలేదు Excel VBAలో ​​టైప్ నిర్వచించబడలేదు

Excel VBA లో తరచుగా ఎదురయ్యే ఈ లోపం వెనుక 2 ప్రధాన సమస్యలు ఉన్నాయి. వాటిని వివరంగా విశ్లేషించి, వాటిని పరిష్కరించే మార్గాలను తెలుసుకుందాం.

1. వేరియబుల్స్ ప్రకటించేటప్పుడు స్పెల్లింగ్ లోపం

ఈ లోపం వెనుక ఉన్న ప్రధాన కారణం ఇదే. చాలా తరచుగా, లోపం “వినియోగదారు-నిర్వచించిన రకం నిర్వచించబడలేదు” వేరియబుల్‌లను ప్రకటించేటప్పుడు స్పెల్లింగ్ లోపం కారణంగా ఏర్పడింది.

క్రింది కోడ్‌ల లైన్‌లను చూడండి.

5200

మీరు ఈ కోడ్‌ని అమలు చేస్తే, “వినియోగదారు-నిర్వచించిన రకం నిర్వచించబడలేదు” అనే లోపం ఉనికిని మీకు తెలియజేసే ఎర్రర్ బాక్స్‌ను మీరు పొందుతారు. దానితో పాటుగా, మీరు కోడ్ యొక్క రెండవ పంక్తిని నీలం రంగులో హైలైట్ చేసారు, ఇక్కడ నేను “strng” స్థానంలో “strng” అని వ్రాసాను.

0>

మీకు విషయం అర్థమైందని ఆశిస్తున్నాను. VBA వేరియబుల్ రకాన్ని “strng” గుర్తించలేకపోయింది, అందుకే ఇది కొత్త వేరియబుల్ రకంగా పరిగణించబడింది మరియు మీరు దీన్ని ఎక్కడో నిర్వచించారని భావించారు. కానీ అది ఉన్నప్పుడుమీరు దీన్ని ఎక్కడా ప్రకటించలేదని కనుగొన్నారు, అది లోపాన్ని లేవనెత్తింది.

అందుచేత, సాధారణ VBA కోడ్‌లను అమలు చేస్తున్నప్పుడు, మీరు ఈ లోపాన్ని ఏమైనప్పటికీ ఎదుర్కొంటే, ముందుగా మీ వేరియబుల్ రకాల స్పెల్లింగ్‌లను తనిఖీ చేయండి.

2. సరైన రెఫరెన్సింగ్ లేకపోవడం

ఈ లోపం వెనుక ఇది మరొక కారణం. అంటే సరైన రెఫరెన్స్ లేకపోవడం. కొన్నిసార్లు మేము విజువల్ బేసిక్ రిఫరెన్స్ బాక్స్ నుండి సరైన రెఫరెన్సింగ్ అవసరమయ్యే కొన్ని వస్తువులను మా కోడ్‌లలో ఉపయోగిస్తాము. లేకపోతే, VBA ఆబ్జెక్ట్‌ను గుర్తించదు.

క్రింది VBA కోడ్‌ను చూడండి.

9245

ఈ కోడ్‌ని అమలు చేయండి. మీరు అదే పాత ఎర్రర్‌ను పొందుతారు “వినియోగదారు-నిర్వచించిన రకం నిర్వచించబడలేదు”, నిఘంటువు వస్తువు ను హైలైట్ చేస్తుంది. ఎందుకంటే VBA నిఘంటువు వస్తువు ని గుర్తించలేకపోయింది మరియు దీనిని వినియోగదారు నిర్వచించిన వేరియబుల్‌గా పరిగణించింది, ఇది పొరపాటుగా నిర్వచించబడలేదు.

ఇప్పుడు అతిపెద్ద ప్రశ్న ఏమిటంటే, ఈ లోపాన్ని ఎలా పరిష్కరించాలి? సులువు. ఈ లోపాన్ని పరిష్కరించడానికి 2 మార్గాలు ఉన్నాయి.

⧪ పరిష్కారం 1: విజువల్ బాక్స్ రిఫరెన్స్ బాక్స్ నుండి ముందస్తు సూచనను తనిఖీ చేయడం

ఇది ఈ సమస్యను పరిష్కరించడానికి తెలివైన మార్గం. సాధనాలు > విజువల్ బేసిక్ రిబ్బన్‌లో సూచనలు బటన్. ప్రస్తావనలు పై క్లిక్ చేయండి.

సూచనలు అనే డైలాగ్ బాక్స్ తెరవబడుతుంది. స్క్రోల్ చేసి మైక్రోసాఫ్ట్ స్క్రిప్టింగ్ రన్‌టైమ్ (ఇది మీరు ఉపయోగిస్తున్న వస్తువుపై ఆధారపడి ఉంటుంది. నిఘంటువుobject కి Microsoft స్క్రిప్ట్ రన్‌టైమ్ గుర్తించబడాలి. కాబట్టి, VBA కోడ్‌లో ఆబ్జెక్ట్‌ని ఉపయోగిస్తున్నప్పుడు, VBA ద్వారా గుర్తించబడాలంటే దాని అవసరం ఏమిటో మీరు తప్పనిసరిగా తెలుసుకోవాలి. మరింత సమాచారం కోసం ఈ లింక్‌ని సందర్శించండి.). దాన్ని తనిఖీ చేయండి.

ఇప్పుడు తిరిగి వచ్చి కోడ్‌ని అమలు చేయండి. మీరు ఎటువంటి లోపాలను పొందలేరు. ఎందుకంటే VBA ఈసారి నిఘంటు వస్తువు ని గుర్తించగలదు.

⧪ పరిష్కారం 2: నిర్దిష్ట వస్తువుగా కాకుండా స్వచ్ఛమైన వస్తువుగా ప్రకటించడం

ఈ సమస్యను పరిష్కరించడానికి మరొక మార్గం ఉంది. మీరు నిఘంటువు వస్తువు కాకుండా ఆబ్జెక్ట్‌ను స్వచ్ఛమైన వస్తువుగా ప్రకటించవచ్చు.

క్రింది కోడ్‌ల పంక్తులను గమనించండి.

4921

ఇక్కడ నేను వేరియబుల్ MyDictionary ని ఒక సాధారణ వస్తువుగా ప్రకటించాను, నిఘంటువు కాదు. ఇప్పుడు మీరు ఈ కోడ్‌ని అమలు చేస్తే, మీకు ఎలాంటి లోపం ఉండదు.

హ్యూ వెస్ట్ పరిశ్రమలో 10 సంవత్సరాల అనుభవంతో అత్యంత అనుభవజ్ఞుడైన ఎక్సెల్ శిక్షకుడు మరియు విశ్లేషకుడు. అతను అకౌంటింగ్ మరియు ఫైనాన్స్‌లో బ్యాచిలర్ డిగ్రీని మరియు బిజినెస్ అడ్మినిస్ట్రేషన్‌లో మాస్టర్స్ డిగ్రీని కలిగి ఉన్నాడు. హ్యూకు బోధన పట్ల మక్కువ ఉంది మరియు అనుసరించడానికి మరియు అర్థం చేసుకోవడానికి సులభమైన బోధనా విధానాన్ని అభివృద్ధి చేశారు. ఎక్సెల్‌పై అతని నైపుణ్యం కలిగిన జ్ఞానం ప్రపంచవ్యాప్తంగా వేలాది మంది విద్యార్థులు మరియు నిపుణులకు వారి నైపుణ్యాలను మెరుగుపర్చడానికి మరియు వారి కెరీర్‌లో రాణించడానికి సహాయపడింది. తన బ్లాగ్ ద్వారా, హ్యూ తన జ్ఞానాన్ని ప్రపంచంతో పంచుకున్నాడు, ఉచిత Excel ట్యుటోరియల్స్ మరియు ఆన్‌లైన్ శిక్షణను అందిస్తూ వ్యక్తులు మరియు వ్యాపారాలు వారి పూర్తి సామర్థ్యాన్ని చేరుకోవడంలో సహాయపడతాయి.