VBA పరిష్కరిణి | ఎక్సెల్ VBA లో పరిష్కారాన్ని ఉపయోగించడానికి దశల వారీ ఉదాహరణ

ఎక్సెల్ VBA పరిష్కరిణి

సంక్లిష్టమైన సమస్యలను మీరు ఎలా పరిష్కరిస్తారు? ఈ సమస్యల గురించి ఎలా తెలుసుకోవాలో మీకు తెలియకపోతే, మా ఎక్సెల్ లో మనకు పరిష్కారం ఉంది. మా మునుపటి వ్యాసంలో “ఎక్సెల్ సోల్వర్” ఎక్సెల్ లో సమీకరణాలను ఎలా పరిష్కరించాలో నేర్చుకున్నాము. మీకు తెలియకపోతే VBA తో “SOLVER” అందుబాటులో ఉంది. ఈ వ్యాసంలో, VBA లో “పరిష్కరిణి” ను ఎలా ఉపయోగించాలో మేము మిమ్మల్ని తీసుకుంటాము.

వర్క్‌షీట్‌లో పరిష్కారాన్ని ప్రారంభించండి

ఎక్సెల్ (ఇప్పటికే ప్రారంభించబడితే) లో డేటా టాబ్ కింద అందుబాటులో ఉన్న ఒక దాచిన సాధనం పరిష్కరిణి.

ఎక్సెల్ లో SOLVER ను ఉపయోగించడానికి మొదట మేము ఈ ఎంపికను ప్రారంభించాలి. క్రింది దశలను అనుసరించండి.

దశ 1: FILE టాబ్‌కు వెళ్లండి. FILE టాబ్ కింద “ఐచ్ఛికాలు” ఎంచుకోండి.

దశ 2: ఎక్సెల్ ఐచ్ఛికాలు విండోలో “యాడ్-ఇన్లు” ఎంచుకోండి.

దశ 3: దిగువన “ఎక్సెల్ యాడ్-ఇన్‌లు” ఎంచుకుని “గో” పై క్లిక్ చేయండి.

దశ 4: ఇప్పుడు “సోల్వర్ యాడ్-ఇన్” బాక్స్‌ను తనిఖీ చేసి, సరే క్లిక్ చేయండి.

ఇప్పుడు మీరు డేటా టాబ్ క్రింద “పరిష్కరిణి” ని చూడాలి.

VBA లో పరిష్కారాన్ని ప్రారంభించండి

VBA లో కూడా, పరిష్కారి బాహ్య సాధనం, దాన్ని ఉపయోగించడానికి మేము దానిని ప్రారంభించాలి. దీన్ని ప్రారంభించడానికి క్రింది దశలను అనుసరించండి.

దశ 1: ఉపకరణాలకు వెళ్లండి >>> విజువల్ బేసిక్ ఎడిటర్ విండోలో సూచన.

దశ 2: సూచనల జాబితా నుండి, “పరిష్కరిణి” ఎంచుకోండి మరియు దాన్ని ఉపయోగించడానికి సరేపై క్లిక్ చేయండి.

ఇప్పుడు మనం VBA లో కూడా పరిష్కరిణిని ఉపయోగించవచ్చు.

VBA లో పరిష్కార విధులు

VBA కోడ్ రాయడానికి మనం VBA లో మూడు “పరిష్కరిణి విధులు” ఉపయోగించాలి మరియు ఆ విధులు “SolverOk, SolverAdd మరియు SolverSolve”.

సోల్వర్ ఓక్

SolverOk (సెట్‌సెల్, మాక్స్మిన్వాల్, వాల్యూఆఫ్, బైచేంజ్, ఇంజిన్, ఇంజిన్‌డెస్క్)

సెట్‌సెల్: ఇది మార్చవలసిన సెల్ రిఫరెన్స్ అవుతుంది, అనగా లాభం సెల్.

మాక్స్మిన్వాల్: ఇది ఐచ్ఛిక పరామితి, క్రింద సంఖ్యలు మరియు నిర్దేశకాలు ఉన్నాయి.

  • 1 = గరిష్టీకరించు
  • 2 = కనిష్టీకరించు
  • 3 = నిర్దిష్ట విలువను సరిపోల్చండి

యొక్క విలువ: ఈ పరామితి ఉంటే సరఫరా చేయాలి మాక్స్మిన్వాల్ వాదన 3.

బై చేంజ్: ఏ కణాలను మార్చడం ద్వారా ఈ సమీకరణాన్ని పరిష్కరించాలి.

పరిష్కరిణి చేర్చు

ఇప్పుడు యొక్క పారామితులను చూద్దాం పరిష్కరిణి చేర్చు

సెల్ రిఫ్: సమస్యను పరిష్కరించడానికి ప్రమాణాలను సెట్ చేయడానికి సెల్ ఏమిటో మార్చాలి.

సంబంధం: ఇందులో, తార్కిక విలువలు సంతృప్తి చెందితే, మేము ఈ క్రింది సంఖ్యలను ఉపయోగించవచ్చు.

  • 1 (<=) కన్నా తక్కువ
  • 2 (=) కు సమానం
  • 3 (> =) కంటే ఎక్కువ
  • 4 అనేది పూర్ణాంకాల తుది విలువలను కలిగి ఉండాలి.
  • 5 అంటే 0 లేదా 1 మధ్య విలువలు ఉండాలి.
  • 6 అనేది అన్ని భిన్నమైన మరియు పూర్ణాంకాల తుది విలువలను కలిగి ఉండాలి.

ఎక్సెల్ VBA లో పరిష్కరిణి యొక్క ఉదాహరణ

మీరు ఈ VBA Solver Excel మూసను ఇక్కడ డౌన్‌లోడ్ చేసుకోవచ్చు - VBA Solver Excel మూస

ఉదాహరణ కోసం ఈ క్రింది దృష్టాంతాన్ని చూడండి.

ఈ పట్టికను ఉపయోగించి మనం కనీసం 10000 ఉండాలి "లాభం" మొత్తాన్ని గుర్తించాలి. ఈ సంఖ్యను చేరుకోవడానికి మాకు కొన్ని షరతులు ఉన్నాయి.

  • అమ్మడానికి యూనిట్లు పూర్ణాంక విలువగా ఉండాలి.
  • ధర / యూనిట్ 7 మరియు 15 మధ్య ఉండాలి.

ఈ పరిస్థితుల ఆధారంగా 10000 లాభ విలువను పొందడానికి ఎన్ని యూనిట్లను ఏ ధర వద్ద విక్రయించాలో గుర్తించాలి.

సరే, ఈ సమీకరణాన్ని ఇప్పుడే పరిష్కరించుకుందాం.

దశ 1: VBA ఉపప్రాంతాన్ని ప్రారంభించండి.

కోడ్:

 ఉప పరిష్కర్త_ఉదాహరణ () ముగింపు ఉప 

దశ 2: మొదట మనం ఉపయోగించి ఆబ్జెక్టివ్ సెల్ రిఫరెన్స్ సెట్ చేయాలి సోల్వర్ ఓక్ ఫంక్షన్.

దశ 3: ఈ ఫంక్షన్ యొక్క మొదటి వాదన “సెట్‌సెల్”, ఈ ఉదాహరణలో మనం లాభం సెల్ విలువను మార్చాలి, అంటే బి 8 సెల్.

కోడ్:

 ఉప పరిష్కరిణి_ఉదాహరణ () పరిష్కరిణి సెట్‌సెల్: = పరిధి ("బి 8") ముగింపు ఉప 

దశ 4: ఇప్పుడు మనం ఈ సెల్ విలువను 10000 కు సెట్ చేయాలి మాక్స్మిన్వాల్ 3 ను ఆర్గ్యుమెంట్ విలువగా ఉపయోగించండి.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3 ఎండ్ సబ్ 

దశ 5: తదుపరి వాదన యొక్క విలువ విలువ 10000 ఉండాలి.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3, వాల్యూఆఫ్: = 10000 ఎండ్ సబ్ 

తదుపరి వాదన బైచేంజ్ అంటే, ఈ సమీకరణాన్ని ఏ కణాలను మార్చడం ద్వారా పరిష్కరించాలి. ఈ సందర్భంలో యూనిట్లను అమ్మడం (బి 1) మరియు ప్రైస్ పర్ యూనిట్ (బి 2) సెల్ మార్చడం ద్వారా మార్చాలి.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3, వాల్యూఆఫ్: = 10000, బై చేంజ్: = రేంజ్ ("బి 1: బి 2") ఎండ్ సబ్ 

గమనిక: మిగిలిన వాదనలు ఇక్కడ అవసరం లేదు.

దశ 6: ఆబ్జెక్టివ్ సెల్ సెట్ చేయబడిన తర్వాత, ఇప్పుడు మనం ఇతర ప్రమాణాలను నిర్మించాలి. ఈ ఓపెన్ “SolverAdd” ఫంక్షన్ కోసం.

దశ 7: ప్రధమ సెల్ రెఫ్ మనం మార్చాలి యూనిట్ సెల్ సెల్ అంటే బి 2 సెల్.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3, వాల్యూఆఫ్: = 10000, బై చేంజ్: = రేంజ్ ("బి 1: బి 2") సోల్వర్ఆడ్ సెల్ రిఫ్: = రేంజ్ ("బి 2") ఎండ్ సబ్ 

దశ 8: ఈ సెల్> = 7 గా ఉండాలి, కాబట్టి సంబంధం వాదన 3 అవుతుంది.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3, వాల్యూఆఫ్: = 10000, బై చేంజ్: = రేంజ్ ("బి 1: బి 2") సోల్వర్ఆడ్ సెల్ రిఫ్: = రేంజ్ ("బి 2"), రిలేషన్: = 3 ఎండ్ సబ్ 

దశ 9: ఈ సెల్ విలువ> = 7 అనగా ఉండాలి. ఫార్ములా టెక్స్ట్ = 7.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3, వాల్యూఆఫ్: = 10000, బై చేంజ్: = రేంజ్ ("బి 1: బి 2") సోల్వర్ఆడ్ సెల్ రిఫ్: = రేంజ్ ("బి 2"), రిలేషన్: = 3, ఫార్ములాటెక్స్ట్: = 7 ఎండ్ సబ్ 

దశ 10: అదేవిధంగా అదే సెల్ 15 కన్నా తక్కువ ఉండాలి, కాబట్టి దీని కోసం సంబంధం <= అనగా 1 వాదన విలువగా ఉంటుంది.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3, వాల్యూఆఫ్: = 10000, బై చేంజ్: = రేంజ్ ("బి 1: బి 2") సోల్వర్ఆడ్ సెల్ రిఫ్: = రేంజ్ ("బి 2"), రిలేషన్: = 3, ఫార్ములాటెక్స్ట్: = 7 పరిష్కరిణి సెల్ రీఫ్: = పరిధి ("బి 2"), సంబంధం: = 1, ఫార్ములాటెక్స్ట్: = 15 ఎండ్ సబ్ 

దశ 11: మొదటి సెల్ అనగా అమ్మడానికి యూనిట్లు తప్పనిసరిగా ఒక పూర్ణాంక విలువగా ఉండాలి, దీనికి క్రింది ప్రమాణాలను కూడా ఏర్పాటు చేస్తుంది.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3, వాల్యూఆఫ్: = 10000, బై చేంజ్: = రేంజ్ ("బి 1: బి 2") సోల్వర్ఆడ్ సెల్ రిఫ్: = రేంజ్ ("బి 2"), రిలేషన్: = 3, ఫార్ములాటెక్స్ట్: = 7 పరిష్కరిణి సెల్ రీఫ్: = పరిధి ("బి 2"), సంబంధం: = 1, ఫార్ములాటెక్స్ట్: = 15 పరిష్కరిణి సెల్ రీఫ్: = పరిధి ("బి 1"), సంబంధం: = 4, ఫార్ములాటెక్స్ట్: = "పూర్ణాంక" ముగింపు ఉప 

దశ 12: ఒక చివరి దశ మేము SolverSolve ఫంక్షన్‌ను జోడించాలి.

కోడ్:

 సబ్ సోల్వర్_ఎక్సాంపుల్ () సోల్వర్ ఓక్ సెట్ సెల్: = రేంజ్ ("బి 8"), మాక్స్మిన్వాల్: = 3, వాల్యూఆఫ్: = 10000, బై చేంజ్: = రేంజ్ ("బి 1: బి 2") సోల్వర్ఆడ్ సెల్ రిఫ్: = రేంజ్ ("బి 2"), రిలేషన్: = 3, ఫార్ములాటెక్స్ట్: = 7 సోల్వర్ సెల్ రీఫ్: = రేంజ్ ("బి 2"), రిలేషన్: = 1, ఫార్ములాటెక్స్ట్: = 15 సోల్వర్ఆడ్ సెల్ రీఫ్: = రేంజ్ ("బి 1"), రిలేషన్: = 4, ఫార్ములాటెక్స్ట్: = "ఇంటీజర్" సోల్వర్‌సోల్వ్ ఎండ్ ఉప 

సరే, ఫలితాన్ని పొందడానికి F5 కీని నొక్కడం ద్వారా కోడ్‌ను అమలు చేయండి.

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

సరే నొక్కండి మరియు మీరు ఎక్సెల్ షీట్లో ఫలితాన్ని పొందుతారు.

కాబట్టి 10000 లాభం పొందాలంటే, ధర ధర 5 ఉన్న చోట 5000 యూనిట్లను 7 ధరలకు అమ్మాలి.

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

  • ఎక్సెల్ & VBA లో సోల్వర్‌తో కలిసి పనిచేయడానికి, మొదట దీన్ని వర్క్‌షీట్ కోసం ప్రారంభించండి, ఆపై VBA సూచన కోసం ప్రారంభించండి.
  • ఇది వర్క్‌షీట్‌లు మరియు VBA రెండింటిలో ప్రారంభించబడిన తర్వాత మాత్రమే మేము అన్ని పరిష్కార ఫంక్షన్లను యాక్సెస్ చేయగలము.