VBA ఓవర్ఫ్లో లోపం | వాటిని రన్ టైమ్ ఓవర్ఫ్లో లోపం 6 ను ఎలా పరిష్కరించాలి?
ఎక్సెల్ VBA ఓవర్ఫ్లో లోపం
లోపాలు ఏదైనా కోడింగ్ భాష యొక్క భాగం మరియు భాగం, కానీ ఆ లోపం ఎందుకు వస్తోందో తెలుసుకోవడం ఇంటర్వ్యూలలో ప్రేక్షకుల నుండి మీరు వేరుగా నిలబడేలా చేస్తుంది. లోపాలు VBA కోడింగ్కు వింత కాదు, లోపాలు ఉద్దేశపూర్వకంగా లేవు, తద్వారా లోపానికి కారణాన్ని కనుగొనడం కష్టతరమైన పని చేస్తుంది. VBA లో మాకు ముందే నిర్వచించిన కొన్ని లోపాలు ఉన్నాయి మరియు వాటి గురించి తెలుసుకోవడం వల్ల మీరు బగ్ను చాలా త్వరగా పరిష్కరించుకుంటారు. ఈ వ్యాసంలో, మేము మీకు RUN TIME ERROR 6: OverFlow గురించి చూపిస్తాము. లోపం, VBA ఓవర్ఫ్లో లోపానికి కారణాలు మరియు వాటిని ఎలా పరిష్కరించాలో తెలుసుకోవడానికి పూర్తి కథనాన్ని అనుసరించండి.
రన్ టైమ్ లోపం 6 అంటే ఏమిటి: VBA లో ఓవర్ఫ్లో లోపం?
మేము వేరియబుల్ డిక్లేర్ చేసినప్పుడు మేము వారికి డేటా రకాన్ని కేటాయిస్తాము. ప్రతి డేటా రకం యొక్క రెండింటికీ మనకు పూర్తిగా తెలుసుకోవాలి. ఇక్కడ రన్ టైమ్ లోపం 6: ఓవర్ ఫ్లో చిత్రంలోకి వస్తుంది. మేము డేటా రకాన్ని సామర్థ్యం కంటే ఎక్కువ విలువతో డేటా రకాన్ని ఓవర్లోడ్ చేసినప్పుడు, అప్పుడు మనకు ఈ లోపం వస్తుంది.
ఉదాహరణకు: మీరు వేరియబుల్ను ఇలా ప్రకటిస్తే బైట్.
మసక సంఖ్య బైట్
బైట్ డేటా రకం 0 నుండి 255 వరకు విలువలను కలిగి ఉంటుంది. ఇప్పుడు నేను విలువను 240 గా కేటాయిస్తాను.
సంఖ్య = 240
ఇది బాగా పని చేయాలి ఎందుకంటే మేము కేటాయించిన విలువ బైట్ యొక్క విలువ 255 యొక్క పరిమితి కంటే తక్కువగా ఉంటుంది. మేము 255 కన్నా ఎక్కువ విలువను కేటాయించిన క్షణం, ఇది లోపానికి దారితీస్తుంది రన్ టైమ్ లోపం 6: ఓవర్ ఫ్లో.
ఇది రన్ టైమ్ ఎర్రర్ 6: ఓవర్ ఫ్లో యొక్క సాధారణ అవలోకనం. మేము కొన్ని ఉదాహరణలను వివరంగా చూస్తాము.
రన్ టైమ్ లోపం 6 యొక్క ఉదాహరణలు: VBA లో ఓవర్ ఫ్లో
ఎక్సెల్ లో VBA ఓవర్ ఫ్లో లోపం యొక్క కొన్ని ఉదాహరణలు చూద్దాం.
ఉదాహరణ 1: బైట్ డేటా రకంతో ఓవర్ఫ్లో లోపం
నేను చెప్పినట్లుగా మనం ఉపయోగించబోయే VBA డేటా రకం యొక్క రెండింటికీ తెలుసుకోవడం ముఖ్యం. ఉదాహరణకు ఈ క్రింది కోడ్ను చూడండి.
కోడ్:
ఉప ఓవర్ఫ్లోఎర్రర్_ఎక్సాంపుల్ 1 () మసక సంఖ్య బైట్ నంబర్గా = 256 MsgBox సంఖ్య ముగింపు ఉప
వేరియబుల్ “నంబర్” కోసం నేను విలువను 256 గా కేటాయించాను. నేను ఈ కోడ్ను నడుపుతున్నప్పుడు మనకు ఈ క్రింది లోపం వస్తుంది.
ఎందుకంటే డేటా రకం బైట్ 0 నుండి 255 వరకు విలువలను కలిగి ఉంటుంది. కనుక ఇది లోపం కలిగిస్తుంది. లోపాన్ని పరిష్కరించడానికి మనం డేటా రకాన్ని మార్చాలి లేదా వేరియబుల్ “నంబర్” కు కేటాయించిన విలువను తగ్గించాలి.
ఉదాహరణ 2: పూర్ణాంక డేటా రకంతో VBA ఓవర్ఫ్లో లోపం
VBA పూర్ణాంకం -32768 నుండి 32767 వరకు విలువలను కలిగి ఉండే డేటా రకం. ఉదాహరణకు, దిగువ కోడ్ను చూడండి.
కోడ్:
సబ్ ఓవర్ఫ్లోఎర్రర్_ఎక్సాంపుల్ 2 () డిమ్ మైవాల్యూ ఇంటీజర్ మైవాల్యూ = 25656 ఎంఎస్జిబాక్స్ మైవాల్యూ ఎండ్ సబ్
నేను ఈ కోడ్ను అమలు చేస్తున్నప్పుడు సందేశ పెట్టెలో “MyValue” అనే వేరియబుల్ విలువను పొందుతాము, అంటే 25656.
ఇప్పుడు నేను వేరియబుల్కు “45654” గా తిరిగి కేటాయిస్తాను.
కోడ్:
సబ్ ఓవర్ఫ్లోఎర్రర్_ఎక్సాంపుల్ 2 () డిమ్ మైవాల్యూ ఇంటీజర్ మైవాల్యూ = 45654 ఎంఎస్జిబాక్స్ మైవాల్యూ ఎండ్ సబ్
ఇప్పుడు నేను కోడ్ను అమలు చేయడానికి ప్రయత్నిస్తే అది లోపం కలిగిస్తుంది ఎందుకంటే మనం ప్రకటించిన డేటా రకం సానుకూల సంఖ్యల కోసం గరిష్టంగా 32767 మాత్రమే కలిగి ఉంటుంది మరియు ప్రతికూల సంఖ్యల పరిమితి -32768.
ఉదాహరణ 3: లాంగ్ డేటా రకంతో VBA ఓవర్ఫ్లో లోపం
ఎక్సెల్ VBA లో ఎక్కువగా ఉపయోగించే డేటా రకం లాంగ్ డేటా రకం. ఇది –2,147,483,648 నుండి 2,147,486,647 వరకు విలువలను కలిగి ఉంటుంది. పైన ఏదైనా ఏదైనా లోపం కలిగిస్తుంది.
కోడ్:
సబ్ ఓవర్ ఫ్లో ఎర్రర్_ఎక్సాంపుల్ 3 () డిమ్ మైవాల్యూ లాంగ్ మైవాల్యూ = 5000 * 457 ఎంఎస్జిబాక్స్ మైవాల్యూ ఎండ్ సబ్
ఇది ఓవర్ఫ్లో లోపం కలిగిస్తుంది.
ఈ సమస్యను పరిష్కరించడానికి మేము VBA లో CLNG ఫంక్షన్ను ఉపయోగించాలి. క్రింద ఒక ఉదాహరణ.
కోడ్:
సబ్ ఓవర్ఫ్లోఎర్రర్_ఎక్సాంపుల్ 3 () మసక మైవాల్యూ లాంగ్ మైవాల్యూ = సిఎల్ఎన్జి (5000) * 457 ఎంఎస్జిబాక్స్ మైవాల్యూ ఎండ్ సబ్
ఇది బాగా పనిచేయాలి.
ఇది రన్ టైమ్ ఎర్రర్ 6: ఓవర్ ఫ్లో యొక్క అవలోకనం. ఈ లోపాన్ని పరిష్కరించడానికి మేము డేటా రకాలను పూర్తిగా తెలుసుకోవాలి. కాబట్టి బేసిక్స్కి తిరిగి వెళ్లండి, బేసిక్స్ను సరిగ్గా చేయండి, అప్పుడు ప్రతిదీ స్థానంలో వస్తుంది.
మీరు ఈ VBA ఓవర్ఫ్లో లోపం ఎక్సెల్ మూసను ఇక్కడ డౌన్లోడ్ చేసుకోవచ్చు - VBA ఓవర్ఫ్లో లోపం ఎక్సెల్ మూస