வி.பி.ஏ சொல்வர் | எக்செல் வி.பி.ஏ.

எக்செல் விபிஏ சொல்வர்

சிக்கலான சிக்கல்களை எவ்வாறு தீர்ப்பது? இந்த சிக்கல்களைப் பற்றி எப்படிப் போவது என்பது உங்களுக்குத் தெரியாவிட்டால், கவலைப்பட ஒன்றுமில்லை. எங்கள் முந்தைய கட்டுரையில் “எக்செல் சொல்வர்” எக்செல் இல் சமன்பாடுகளை எவ்வாறு தீர்ப்பது என்பதைக் கற்றுக்கொண்டோம். உங்களுக்கு தெரியாவிட்டால் “SOLVER” VBA உடன் கிடைக்கிறது. இந்த கட்டுரையில், VBA இல் “Solver” ஐ எவ்வாறு பயன்படுத்துவது என்பதை நாங்கள் உங்களுக்கு எடுத்துச் செல்வோம்.

பணித்தாளில் தீர்வி இயக்கவும்

ஒரு தீர்வி என்பது எக்செல் தரவு தாவலின் கீழ் கிடைக்கும் ஒரு மறைக்கப்பட்ட கருவியாகும் (ஏற்கனவே இயக்கப்பட்டிருந்தால்).

எக்செல் இல் SOLVER ஐப் பயன்படுத்த முதலில் இந்த விருப்பத்தை இயக்க வேண்டும். கீழே உள்ள படிகளைப் பின்பற்றவும்.

படி 1: FILE தாவலுக்குச் செல்லவும். FILE தாவலின் கீழ் “விருப்பங்கள்” என்பதைத் தேர்ந்தெடுக்கவும்.

படி 2: எக்செல் விருப்பங்கள் சாளரத்தில் “துணை நிரல்கள்” என்பதைத் தேர்ந்தெடுக்கவும்.

படி 3: கீழே “எக்செல் துணை நிரல்களை” தேர்வுசெய்து “செல்” என்பதைக் கிளிக் செய்க.

படி 4: இப்போது “Solver Add-in” பெட்டியை சரிபார்த்து சரி என்பதைக் கிளிக் செய்க.

இப்போது நீங்கள் தரவு தாவலின் கீழ் “சொல்வர்” ஐப் பார்க்க வேண்டும்.

VBA இல் தீர்வி இயக்கவும்

VBA யிலும், சொல்வர் ஒரு வெளிப்புற கருவி, அதைப் பயன்படுத்த நாம் அதை இயக்க வேண்டும். அதை இயக்க பின்வரும் படிகளைப் பின்பற்றவும்.

படி 1: கருவிகள் >>> விஷுவல் பேசிக் எடிட்டர் சாளரத்தில் குறிப்பு.

படி 2: குறிப்புகள் பட்டியலிலிருந்து, “சொல்வர்” என்பதைத் தேர்ந்தெடுத்து அதைப் பயன்படுத்த சரி என்பதைக் கிளிக் செய்க.

இப்போது நாம் VBA யிலும் சொல்வரைப் பயன்படுத்தலாம்.

VBA இல் தீர்க்கும் செயல்பாடுகள்

ஒரு VBA குறியீட்டை எழுத நாம் VBA இல் மூன்று “Solver Functions” ஐப் பயன்படுத்த வேண்டும், மேலும் அந்த செயல்பாடுகள் “SolverOk, SolverAdd, and SolverSolve”.

சொல்வர்ஒக்

SolverOk (SetCell, MaxMinVal, ValueOf, ByChange, Engine, EngineDesc)

செட்செல்: இது மாற்றப்பட வேண்டிய செல் குறிப்பு ஆகும், அதாவது லாப செல்.

மேக்ஸ்மின்வால்: இது ஒரு விருப்ப அளவுருவாகும், கீழே எண்கள் மற்றும் குறிப்பான்கள் உள்ளன.

  • 1 = பெரிதாக்கு
  • 2 = குறைத்தல்
  • 3 = ஒரு குறிப்பிட்ட மதிப்பை பொருத்து

மதிப்பு: இந்த அளவுரு வழங்கினால் மேக்ஸ்மின்வால் வாதம் 3 ஆகும்.

ByChange: எந்த செல்களை மாற்றுவதன் மூலம் இந்த சமன்பாடு தீர்க்கப்பட வேண்டும்.

சொல்வர் சேர்

இப்போது அளவுருக்களைப் பார்ப்போம் சொல்வர் சேர்

செல் ரீஃப்: சிக்கலைத் தீர்ப்பதற்கான அளவுகோல்களை அமைக்க செல் என்ன மாற்றப்பட வேண்டும்.

உறவு: இதில், தருக்க மதிப்புகள் திருப்தி அடைந்தால், கீழே உள்ள எண்களைப் பயன்படுத்தலாம்.

  • 1 (<=) ஐ விட குறைவாக உள்ளது
  • 2 (=) க்கு சமம்
  • 3 (> =) ஐ விட பெரியது
  • 4 என்பது முழு மதிப்புகளாக இருக்கும் இறுதி மதிப்புகளைக் கொண்டிருக்க வேண்டும்.
  • 5 என்பது 0 அல்லது 1 க்கு இடையில் மதிப்புகளைக் கொண்டிருக்க வேண்டும்.
  • 6 என்பது வேறுபட்ட மதிப்புகள் மற்றும் முழு எண்களைக் கொண்டிருக்க வேண்டும்.

எக்செல் விபிஏவில் தீர்வின் எடுத்துக்காட்டு

இந்த VBA Solver Excel வார்ப்புருவை இங்கே பதிவிறக்கம் செய்யலாம் - VBA Solver Excel வார்ப்புரு

ஒரு எடுத்துக்காட்டுக்கு கீழே உள்ள காட்சியைப் பாருங்கள்.

இந்த அட்டவணையைப் பயன்படுத்தி குறைந்தபட்சம் 10000 ஆக இருக்க வேண்டிய “இலாப” தொகையை நாம் அடையாளம் காண வேண்டும். இந்த எண்ணை அடைய எங்களுக்கு சில நிபந்தனைகள் உள்ளன.

  • விற்க அலகுகள் ஒரு முழு மதிப்பாக இருக்க வேண்டும்.
  • விலை / அலகு 7 முதல் 15 வரை இருக்க வேண்டும்.

இந்த நிலைமைகளின் அடிப்படையில் 10000 இன் இலாப மதிப்பைப் பெற எத்தனை யூனிட்டுகளை எந்த விலையில் விற்க வேண்டும் என்பதை நாம் அடையாளம் காண வேண்டும்.

சரி, இந்த சமன்பாட்டை இப்போது தீர்க்கலாம்.

படி 1: VBA துணை செயல்முறையைத் தொடங்கவும்.

குறியீடு:

 துணை சொல்வர்_ உதாரணம் () முடிவு துணை 

படி 2: முதலில் நாம் பயன்படுத்தி குறிக்கோள் செல் குறிப்பை அமைக்க வேண்டும் சொல்வர்ஒக் செயல்பாடு.

படி 3: இந்த செயல்பாட்டின் முதல் வாதம் “SetCell”, இந்த எடுத்துக்காட்டில் நாம் லாப கலத்தின் மதிப்பை மாற்ற வேண்டும், அதாவது B8 செல்.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = வரம்பு ("B8") முடிவு துணை 

படி 4: இப்போது நாம் இந்த செல் மதிப்பை 10000 ஆக அமைக்க வேண்டும், எனவே மேக்ஸ்மின்வால் வாத மதிப்பாக 3 ஐப் பயன்படுத்தவும்.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = வரம்பு ("B8"), மேக்ஸ்மின்வால்: = 3 முடிவு துணை 

படி 5: அடுத்த வாதம் மதிப்பு மதிப்பு 10000 ஆக இருக்க வேண்டும்.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = Range ("B8"), MaxMinVal: = 3, ValueOf: = 10000 End Sub 

அடுத்த வாதம் பைசேஞ்ச் ஆகும், அதாவது இந்த சமன்பாட்டை தீர்க்க வேண்டிய கலங்களை மாற்றுவதன் மூலம். இந்த வழக்கில் யூனிட்களை விற்க (பி 1) மற்றும் யூனிட் விலை யூனிட் (பி 2) கலத்தை மாற்றுவதன் மூலம் மாற்ற வேண்டும்.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = Range ("B8"), MaxMinVal: = 3, ValueOf: = 10000, ByChange: = Range ("B1: B2") முடிவு துணை 

குறிப்பு: மீதமுள்ள வாதங்கள் இங்கே தேவையில்லை.

படி 6: புறநிலை கலத்தை அமைத்தவுடன், இப்போது நாம் மற்ற அளவுகோல்களை உருவாக்க வேண்டும். இந்த திறந்த “SolverAdd” செயல்பாட்டிற்கு.

படி 7: முதலில் செல் ரெஃப் நாம் மாற்ற வேண்டியது யூனிட் கலத்திற்கு விலை, அதாவது பி 2 செல்.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = Range ("B8"), MaxMinVal: = 3, ValueOf: = 10000, ByChange: = Range ("B1: B2") SolverAdd CellRef: = Range ("B2") End Sub 

படி 8: இந்த செல்> = 7 ஆக இருக்க வேண்டும், எனவே உறவு வாதம் 3 ஆக இருக்கும்.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = Range ("B8"), MaxMinVal: = 3, ValueOf: = 10000, ByChange: = Range ("B1: B2") SolverAdd CellRef: = Range ("B2"), Relation: = 3 முடிவு துணை 

படி 9: இந்த செல் மதிப்பு> = 7 ஆக இருக்க வேண்டும். ஃபார்முலா உரை = 7.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = Range ("B8"), MaxMinVal: = 3, ValueOf: = 10000, ByChange: = Range ("B1: B2") SolverAdd CellRef: = Range ("B2"), Relation: = 3, ஃபார்முலா டெக்ஸ்ட்: = 7 எண்ட் சப் 

படி 10: இதேபோல் அதே செல் 15 க்கும் குறைவாக இருக்க வேண்டும், எனவே இதற்கு உறவு <= அதாவது 1 வாத மதிப்பாக உள்ளது.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = Range ("B8"), MaxMinVal: = 3, ValueOf: = 10000, ByChange: = Range ("B1: B2") SolverAdd CellRef: = Range ("B2"), Relation: = 3, ஃபார்முலா டெக்ஸ்ட்: = 7 சொல்வர் செல் ரீஃப்: = ரேஞ்ச் ("பி 2"), உறவு: = 1, ஃபார்முலா டெக்ஸ்ட்: = 15 எண்ட் சப் 

படி 11: முதல் செல் அதாவது விற்க வேண்டிய அலகுகள் இதற்கு ஒரு முழு மதிப்பாக இருக்க வேண்டும், இது கீழேயுள்ள அளவுகோல்களையும் அமைக்கிறது.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = Range ("B8"), MaxMinVal: = 3, ValueOf: = 10000, ByChange: = Range ("B1: B2") SolverAdd CellRef: = Range ("B2"), Relation: = 3. 

படி 12: ஒரு இறுதி படி நாம் SolverSolve செயல்பாட்டை சேர்க்க வேண்டும்.

குறியீடு:

 துணை Solver_Example () SolverOk SetCell: = Range ("B8"), MaxMinVal: = 3, ValueOf: = 10000, ByChange: = Range ("B1: B2") SolverAdd CellRef: = Range ("B2"), Relation: = 3. துணை 

சரி, முடிவைப் பெற F5 விசையை அழுத்துவதன் மூலம் குறியீட்டை இயக்கவும்.

நீங்கள் குறியீட்டை இயக்கும்போது பின்வரும் சாளரத்தைக் காண்பீர்கள்.

சரி என்பதை அழுத்தவும், இதன் விளைவாக நீங்கள் ஒரு எக்செல் தாளில் பெறுவீர்கள்.

எனவே 10000 லாபம் சம்பாதிக்க, 5000 யூனிட்டுகளை 7 க்கு 7 க்கு விற்க வேண்டும், அங்கு விலை விலை 5 ஆகும்.

நினைவில் கொள்ள வேண்டிய விஷயங்கள்

  • எக்செல் & வி.பி.ஏ.யில் சொல்வர் உடன் பணிபுரிய, முதலில், அதை பணித்தாள் இயக்கவும், பின்னர் வி.பி.ஏ குறிப்பை இயக்கவும்.
  • பணித்தாள் மற்றும் வி.பி.ஏ இரண்டிலும் இது இயக்கப்பட்டவுடன் மட்டுமே நாம் அனைத்து தீர்வி செயல்பாடுகளையும் அணுக முடியும்.