ఎక్సెల్ VBA లో VLOOKUP | VBA లో VLOOKUP కోడ్‌ను ఎలా వ్రాయాలి?

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

ఎక్సెల్ VBA లో VLOOKUP ఫంక్షన్

ఎక్సెల్ లోని VLOOKUP ఫంక్షన్ శ్రేణిలో విలువను శోధించడానికి మరియు దాని సంబంధిత విలువను మరొక కాలమ్ నుండి తిరిగి ఇవ్వడానికి ఉపయోగించబడుతుంది. శోధించడానికి విలువ మొదటి కాలమ్‌లో ఉండాలి. ఖచ్చితమైన మ్యాచ్ లేదా ఉజ్జాయింపు మ్యాచ్ కోసం చూడాలా అని కూడా చెప్పాలి. వర్క్‌షీట్ ఫంక్షన్ VLOOKUP ను VBA కోడింగ్‌లో ఉపయోగించవచ్చు. ఫంక్షన్ VBA లో నిర్మించబడలేదు మరియు అందువల్ల వర్క్‌షీట్ ఉపయోగించి మాత్రమే కాల్ చేయవచ్చు.

ఎక్సెల్ లోని VLOOKUP ఫంక్షన్ కింది వాక్యనిర్మాణాన్ని కలిగి ఉంది:

దీనిలో, లుక్అప్_వాల్యూ అనేది చూడవలసిన విలువ, టేబుల్_అర్రే టేబుల్, కోల్_ఇండెక్స్_నమ్ రిటర్న్ విలువ యొక్క కాలమ్ సంఖ్య, రేంజ్_లూకప్ మ్యాచ్ ఖచ్చితమైనది లేదా ఉజ్జాయింపుగా ఉంటే సూచిస్తుంది. range_lookup TRUE / FALSE లేదా 0/1 కావచ్చు.

VBA కోడ్‌లో, VLOOKUP ఫంక్షన్‌ను ఇలా ఉపయోగించవచ్చు:

అప్లికేషన్.

ఎక్సెల్ VBA లో VLookup ను ఎలా ఉపయోగించాలి?

ఎక్సెల్ VBA లోని VLookup కోడ్ యొక్క కొన్ని ఉదాహరణలు క్రింద ఉన్నాయి.

మీరు ఈ VLookup ని ఎక్సెల్ VBA మూసలో డౌన్‌లోడ్ చేసుకోవచ్చు - ExL VBA మూసలో VLookup

ఎక్సెల్ VBA ఉదాహరణ # 1 లోని VLookup కోడ్

ఎక్సెల్ VBA లో వర్క్‌షీట్ ఫంక్షన్ VLOOKUP ని ఎలా పిలుస్తామో చూద్దాం.

మీకు విద్యార్థుల ID, పేరు మరియు వారు పొందిన సగటు మార్కుల డేటా ఉందని అనుకుందాం.

ఇప్పుడు, మీరు ID 11004 తో ఒక విద్యార్థి పొందిన మార్కులను చూడాలనుకుంటున్నారు.

విలువ కోసం వెతకడానికి, ఈ క్రింది దశలను అనుసరించండి:

  • డెవలపర్ టాబ్‌కు వెళ్లి విజువల్ బేసిక్ పై క్లిక్ చేయండి.

  • VBA విండో కింద, చొప్పించుకు వెళ్లి మాడ్యూల్ పై క్లిక్ చేయండి.

  • ఇప్పుడు, VBA VLOOKUP కోడ్ రాయండి. కింది VBA VLOOKUP కోడ్‌ను ఉపయోగించవచ్చు.

ఉప vlookup1 ()

మసక విద్యార్థి_ఐడి పొడవుగా

మసకబారిన గుర్తులు పొడవుగా ఉంటాయి

student_id = 11004

మైరేంజ్ = పరిధిని సెట్ చేయండి (“B4: D8”)

మార్కులు = అప్లికేషన్.వర్క్‌షీట్ఫంక్షన్.విలూకప్ (స్టూడెంట్_ఐడి, మైరేంజ్, 3, ఫాల్స్)

ఎండ్ సబ్

మొదట, విద్యార్థి ఐడిని నిర్వచించండి, ఇది శోధించే విలువ. కాబట్టి, మేము నిర్వచించాము,

student_id = 11004

తరువాత, విలువ మరియు రాబడి విలువ ఉన్న పరిధిని మేము నిర్వచిస్తాము. మా డేటా B4: D8 కణాలలో ఉన్నందున, మేము ఒక శ్రేణి- మైరేంజ్‌ను ఇలా నిర్వచించాము:

మైరేంజ్ = పరిధిని సెట్ చేయండి (“B4: D8”)

చివరగా, మేము వర్క్‌షీట్ ఫంక్షన్‌ను ఉపయోగించి వేరియబుల్‌లో VLOOKUP ఫంక్షన్‌ను ఇన్‌పుట్ చేస్తాము,

మార్కులు = అప్లికేషన్.వర్క్‌షీట్ఫంక్షన్.విలూకప్ (స్టూడెంట్_ఐడి, మైరేంజ్, 3, ఫాల్స్)

సందేశ పెట్టెలో గుర్తులను ముద్రించడానికి, ఈ క్రింది ఆదేశాన్ని ఉపయోగిద్దాం:

MsgBox “ID తో విద్యార్థి:” & student_id & ”పొందింది” & మార్కులు & “మార్కులు”

ఇది తిరిగి వస్తుంది:

ఐడి ఉన్న విద్యార్థి: 11004 మంది 85 మార్కులు సాధించారు.

ఇప్పుడు, రన్ బటన్ క్లిక్ చేయండి.

ఎక్సెల్ షీట్లో సందేశ పెట్టె కనిపిస్తుంది అని మీరు గమనించవచ్చు.

ఎక్సెల్ VBA ఉదాహరణ # 2 లోని VLookup కోడ్

మీ వద్ద ఉద్యోగుల పేర్లు మరియు వారి జీతం యొక్క డేటా ఉందని అనుకుందాం. ఈ డేటాకు B మరియు C నిలువు వరుసలు ఇవ్వబడ్డాయి. ఇప్పుడు, మీరు VBA VLOOKUP కోడ్‌ను వ్రాయాలి, అంటే ఒక సెల్, F4 లో ఉద్యోగి పేరు ఇవ్వబడింది, ఉద్యోగి జీతం సెల్ G4 లో తిరిగి ఇవ్వబడుతుంది.

VBA VLOOKUP కోడ్‌ను వ్రాద్దాం.

  1. విలువలు ఉన్న పరిధిని నిర్వచించండి, అనగా, కాలమ్ B మరియు C.

మైరేంజ్ = పరిధిని సెట్ చేయండి (“బి: సి”)

  1. ఉద్యోగి పేరును నిర్వచించండి మరియు సెల్ F4 నుండి పేరును ఇన్పుట్ చేయండి.

పేరు = పరిధి (“F4”) సెట్ చేయండి

  1. జీతం సెల్ G4 గా నిర్వచించండి.

జీతం = పరిధి (“జి 4”) సెట్ చేయండి

  1. ఇప్పుడు, VBA లో వర్క్‌షీట్ఫంక్షన్ ఉపయోగించి VLOOKUP ఫంక్షన్‌కు కాల్ చేసి జీతంలో ఇన్పుట్ చేయండి. విలువ. ఇది సెల్ G4 లోని విలువను (Vlookup ఫంక్షన్ యొక్క అవుట్పుట్) తిరిగి ఇస్తుంది. కింది వాక్యనిర్మాణాన్ని ఉపయోగించవచ్చు:

salary.Value = Application.WorksheetFunction.VLookup (పేరు, మైరేంజ్, 2, తప్పుడు)

  1. ఇప్పుడు, మాడ్యూల్ను అమలు చేయండి. మీరు VBA VLOOKUP కోడ్‌ను అమలు చేసిన తర్వాత సెల్ G4 ఉద్యోగి జీతం కలిగి ఉంటుంది.

మీరు వర్క్‌షీట్‌లోని సెల్ F4 విలువను “డేవిడ్” గా మార్చి, కోడ్‌ను తిరిగి అమలు చేస్తే, అది డేవిడ్ జీతం తిరిగి ఇస్తుంది.

ఎక్సెల్ VBA ఉదాహరణ # 3 లోని VLookup కోడ్

మీ కంపెనీ ఉద్యోగి వారి ఐడి, పేర్లు, విభాగం మరియు జీతం కలిగి ఉన్నట్లు మీరు అనుకుంటారు. VBA లో Vlookup ని ఉపయోగించి, మీరు అతని ఉద్యోగి పేరు మరియు విభాగాన్ని ఉపయోగించి జీతం వివరాలను పొందాలనుకుంటున్నారు.

ఎక్సెల్ లోని వ్లుకప్ ఫంక్షన్ లుక్అప్_వాల్యూని టేబుల్_అరే యొక్క మొదటి కాలమ్ అయిన ఒకే కాలమ్‌లో మాత్రమే శోధిస్తుంది కాబట్టి, మీరు మొదట ప్రతి ఉద్యోగి యొక్క “పేరు” మరియు “డిపార్ట్‌మెంట్” ఉన్న కాలమ్‌ను తయారు చేయాలి.

VBA లో, వర్క్‌షీట్ యొక్క B కాలమ్‌లో “పేరు” మరియు “విభాగం” విలువలను చొప్పించండి.

దీన్ని చేయడానికి, డెవలపర్ టాబ్‌కు వెళ్లి విజువల్ బేసిక్ క్లిక్ చేయండి. కొత్త మాడ్యూల్ ప్రారంభించడానికి చొప్పించడానికి వెళ్లి మాడ్యూల్‌పై క్లిక్ చేయండి.

B ని కాలమ్ D (పేరు) మరియు కాలమ్ E యొక్క విలువలను కలిగి ఉన్న కోడ్‌ను ఇప్పుడు వ్రాద్దాం.

వాక్యనిర్మాణం ఇలా ఇవ్వబడింది:

మొదట, ఈ సందర్భంలో విలువలు 4 వ వరుస నుండి ప్రారంభమవుతున్నందున i = 4 నుండి ‘for’ లూప్‌ను ఉపయోగించండి. సి కాలమ్ యొక్క చివరి వరుస చివరి వరకు లూప్ కొనసాగుతుంది. కాబట్టి, వేరియబుల్ i ను ‘ఫర్’ లూప్ లోపల వరుస సంఖ్యగా ఉపయోగించవచ్చు.

సెల్ (row_number, కాలమ్ B) కోసం కేటాయించడానికి విలువను నమోదు చేయండి, దీనిని కణాలు (i, “B”) గా ఇవ్వవచ్చు. విలువ, సెల్ (row_number, కాలమ్ D) & “_” & సెల్ (row_number, కాలమ్ E ).

మీరు సెల్ B5 = D5 & “_” & E5 ను కేటాయించాలనుకుందాం, మీరు కోడ్‌ను ఇలా ఉపయోగించవచ్చు:

కణాలు (5, “బి”). విలువ = కణాలు (5, “డి”). విలువ & “_” & కణాలు (5, “ఇ”). విలువ

ఇప్పుడు, శ్రేణి B5: E24 లో శోధన విలువ కోసం చూద్దాం, మీరు మొదట శోధన విలువను నమోదు చేయాలి. వినియోగదారు నుండి విలువను (పేరు మరియు విభాగం) తీసుకుందాం. ఇది చేయుటకు,

  1. పేరు, విభాగం మరియు లుక్అప్_వాల్ అనే మూడు వేరియబుల్స్ ను స్ట్రింగ్ గా నిర్వచించండి.
  2. వినియోగదారు నుండి పేరు ఇన్పుట్ తీసుకోండి. కోడ్‌ను ఉపయోగించండి:

పేరు = ఇన్‌పుట్‌బాక్స్ (“ఉద్యోగి పేరును నమోదు చేయండి”)

మీరు కోడ్‌ను అమలు చేస్తున్నప్పుడు ఇన్‌పుట్ బాక్స్‌లోని కంటెంట్ “ఎంటర్ ది ..” ప్రాంప్ట్ బాక్స్‌లో ప్రదర్శించబడుతుంది. ప్రాంప్ట్‌లో నమోదు చేసిన స్ట్రింగ్ పేరు వేరియబుల్‌కు కేటాయించబడుతుంది.

  1. వినియోగదారు నుండి విభాగాన్ని తీసుకోండి. పైన చెప్పిన విధంగానే చేయవచ్చు.

విభాగం = ఇన్‌పుట్‌బాక్స్ (“ఉద్యోగి విభాగాన్ని నమోదు చేయండి”)

  1. కింది వాక్యనిర్మాణాన్ని ఉపయోగించి వేరియబుల్ లుక్అప్_వాల్‌కు సెపరేటర్‌గా “_” తో పేరు మరియు విభాగాన్ని కేటాయించండి:

lookup_val = పేరు & “_” & విభాగం

  1. శ్రేణి B5: E24 లో శోధన_వాల్ కోసం శోధించడానికి vlookup సింటాక్స్ రాయండి: E24 దానిని వేరియబుల్ జీతంలో తిరిగి ఇస్తుంది.

వేరియబుల్ జీతం ప్రారంభించండి:

మసక జీతం లాంగ్

Lookup_val ను కనుగొనడానికి Vlookup ఫంక్షన్‌ను ఉపయోగించండి. టేబుల్_రేను రేంజ్ (“బి: ఎఫ్”) గా ఇవ్వవచ్చు మరియు జీతం 5 వ కాలమ్‌లో ఉంటుంది. ఈ క్రింది వాక్యనిర్మాణాన్ని ఉపయోగించవచ్చు:

జీతం = అప్లికేషన్.వర్క్‌షీట్ఫంక్షన్.విలూకప్ (లుక్అప్_వాల్, రేంజ్ (“బి: ఎఫ్”), 5, ఫాల్స్)

  1. సందేశ పెట్టెలో జీతం ముద్రించడానికి, వాక్యనిర్మాణాన్ని ఉపయోగించండి:

MsgBox (ఉద్యోగి జీతం ”& జీతం)

ఇప్పుడు, కోడ్‌ను అమలు చేయండి. వర్క్‌షీట్‌లో ప్రాంప్ట్ బాక్స్ కనిపిస్తుంది, దీనిలో మీరు పేరును నమోదు చేయవచ్చు. మీరు పేరు ఎంటర్ చేసిన తరువాత (సాషి చెప్పండి) మరియు సరి క్లిక్ చేయండి.

ఇది మీరు విభాగంలో ప్రవేశించగల మరొక పెట్టెను తెరుస్తుంది. మీరు విభాగంలో ప్రవేశించిన తరువాత, ఐటి చెప్పండి.

ఇది ఉద్యోగి జీతం ప్రింట్ చేస్తుంది.

Vlookup పేరు మరియు విభాగంతో ఏదైనా ఉద్యోగిని కనుగొనగలిగితే, అది లోపం ఇస్తుంది. మీరు “విష్ణు” మరియు డిపార్ట్మెంట్ “ఐటి” అని పేరు పెట్టారని అనుకుందాం, అది రన్-టైమ్ లోపం ‘1004’ ను తిరిగి ఇస్తుంది.

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

  1. Vlookup వాక్యనిర్మాణాన్ని ఉపయోగించే ముందు, కింది కోడ్‌ను ఉపయోగించండి-

లోపం GoTo సందేశంలో

తనిఖీ:

వెనుకంజలో ఉన్న కోడ్ (చెక్ :) పర్యవేక్షించబడుతుంది మరియు అది ఏదైనా లోపం అందుకుంటే, అది “సందేశం” స్టేట్‌మెంట్‌కు వెళ్తుంది

  1. కోడ్ చివరలో (బిఫోర్ ఎండ్ సబ్), లోపం సంఖ్య 1004 అయితే, “ఎంప్లాయీ డేటా లేదు” అనే సందేశ పెట్టెలో ముద్రించండి. వాక్యనిర్మాణం ఉపయోగించి ఇది చేయవచ్చు:

సందేశం:

Err.Number = 1004 అప్పుడు

MsgBox (“ఉద్యోగుల డేటా లేదు”)

ఉంటే ముగించండి

మాడ్యూల్ 1:

ఉప vlookup3 ()

I = 4 కణాలకు (అడ్డు వరుసలు, “C”). ముగింపు (xlUp) .రో

కణాలు (i, “B”). విలువ = కణాలు (i, “D”). విలువ & “_” & కణాలు (i, “E”). విలువ

తదుపరి ఐడిమ్ పేరు స్ట్రింగ్

మసక విభాగం స్ట్రింగ్

మసకబారిన_వాల్ స్ట్రింగ్ వలె

మసక జీతం లాంగ్ నేమ్ = ఇన్పుట్బాక్స్ (“ఉద్యోగి పేరును నమోదు చేయండి”)

విభాగం = ఇన్‌పుట్‌బాక్స్ (“ఉద్యోగి విభాగాన్ని నమోదు చేయండి”)

lookup_val = పేరు & “_” & విభాగం ఒక లోపం GoTo సందేశం

తనిఖీ:

జీతం = అప్లికేషన్.వర్క్‌షీట్ఫంక్షన్.విలూకప్ (లుక్అప్_వాల్, రేంజ్ (“బి: ఎఫ్”), 5, ఫాల్స్)

MsgBox (“ఉద్యోగి జీతం” & జీతం) సందేశం:

Err.Number = 1004 అప్పుడు

MsgBox (“ఉద్యోగుల డేటా లేదు”)

ముగింపు IfEnd ఉప

ఎక్సెల్ VBA లో VLookup గురించి గుర్తుంచుకోవలసిన విషయాలు

  • వర్క్‌షీట్ఫంక్షన్ ఉపయోగించి వ్లుకప్ ఫంక్షన్‌ను ఎక్సెల్ VBA లో పిలుస్తారు.
  • ఎక్సెల్ VBA లో వ్లుకప్ ఫంక్షన్ యొక్క వాక్యనిర్మాణం అలాగే ఉంటుంది.
  • VBA vlookup కోడ్ శోధన_ విలువను కనుగొనలేనప్పుడు, ఇది 1004 లోపం ఇస్తుంది.
  • Vlookup ఫంక్షన్‌లోని లోపం ఒక దోషాన్ని తిరిగి ఇస్తే గోటో స్టేట్‌మెంట్ ఉపయోగించి నిర్వహించవచ్చు.