ВБА Солвер

Овај водич ће вам показати како се користи додатак Солвер у ВБА.

Солвер је додатак који се испоручује са Екцелом и користи се за обављање анализе „шта-ако“ пружањем алтернативних одговора формули у ћелији на основу вредности које можете пренети формули из других ћелија у вашој радној свесци.

Омогућавање додатка Солвер у програму Екцел

Изаберите Датотека на Екцел траци, а затим се спустите на Опције.

Изаберите Додаци и кликните на Иди дугме поред додатака програма Екцел.

Уверите се да је Додатак Солвер је изабрана опција.

Алтернативно, кликните на Екцел програмски додаци на Девелопер траку да бисте добили дијалог Адд-инс.

Омогућавање додатка Солвер у ВБА

Након што сте омогућили програмски додатак Солвер у програму Екцел, морате да додате референцу на њега у свом ВБА пројекту да бисте га користили у ВБА.

Уверите се да сте кликнули у ВБА пројекту где желите да користите Солвер. Кликните на Мени Алати а затим и даље Референце.

Позивање на Додатак Солвер ће бити додати вашем пројекту.

Сада можете да користите додатак Солвер у ВБА коду!

Коришћење Солвер функција у ВБА

Морамо да користимо 3 Солвер ВБА функције да бисмо користили Солвер у ВБА. Су СолверОК, СолверАдд, и СолверСолве.

СолверОК

  • СетЦелл - опционо - ово се мора односити на ћелију коју треба променити - треба да садржи формулу. Ово одговараПостави ћелију циља кутија уПараметри решавача Дијалог.
  • МакМинВал - опционо - Ово можете поставити на 1 (Максимизирај), 2 (Смањи) или 3. Ово одговара Макс, Мин, иВредност опције уПараметри решавача Дијалог.
  • Вредност - опционо -Ако је МакМинВалуе постављено на 3, тада морате навести овај аргумент.
  • БиЦханге - опционо -Ово решава решавачу које ћелије може да промени како би дошао до потребне вредности. Ово одговараПроменом променљивих ћелија кутија уПараметри решавача Дијалог.
  • Мотор - опционо - ово указује на метод решавања који треба користити да би се дошло до решења. 1 за Симплек ЛП методу, 2 за ГРГ Нелинеарну методу или 3 за Еволуциону методу. Ово одговараИзаберите метод решавања падајућу листу уПараметри решавача Дијалог
  • ЕнгинеДесц - опционо -ово је алтернативни начин одабира методе решавања - овде бисте откуцали низове „Симплек ЛП“, „ГРГ Нонлинеар“ или „Еволутионари“. Ово такође одговараИзаберите метод решавања падајућу листу уПараметри решавача Дијалог

СолверАдд

  • ЦеллРеф - потребан - ово се односи на ћелију или низ ћелија које треба променити да би се решио проблем.
  • Однос - потребан - ово је цео број који мора бити између 1 и 6 и наводи дозвољену логичку релацију.
    • 1 је мање од (<=)
    • 2 је једнако (=)
    • 3 је веће од (> =)
    • 4 мора имати коначне вредности које су цели бројеви.
    • 5 мора имати вредности између 0 или 1.
    • 6 мора имати коначне вредности које су различите и целе бројеве.
  • ФормулаТект - опционо - Десна страна ограничења.

Креирање примера решавача

Размотрите следећи радни лист.

У горњој табели морамо да се вратимо на месец број један постављањем ћелије Б14 на нулу изменом критеријума у ​​ћелијама Ф1 до Ф6.

123 Суб ТестСолверСолверОк СетЦелл: = "$ Б $ 14", МакМинВал: = 3, ВалуеОф: = 0, БиЦханге: = "$ Ф $ 2: $ Ф $ 6", Енгине: = 1, ЕнгинеДесц: = "ГРГ Нонлинеар"Енд Суб

Након што поставите параметре СолверОК -а, морате додати нека ограничења критеријума.

1234567 Суб ТестСолверСолверОк СетЦелл: = "$ Б $ 14", МакМинВал: = 3, ВалуеОф: = 0, БиЦханге: = "$ Ф $ 2: $ Ф $ 6", Енгине: = 1, ЕнгинеДесц: = "ГРГ Нонлинеар"додај критеријуме - Ф3 не може бити мањи од 8СолверАдд ЦеллРеф: = "$ Ф $ 3", Релација: = 3, ФормулаТект: = "8"додај критеријуме - Ф3 не може бити мањи од 5000СолверАдд ЦеллРеф: = "$ Ф $ 5", Однос: = 3, ФормулаТект: = "5000"Енд Суб

Када поставите СолверОК и СолверАдд (ако је потребно), можете решити проблем.

1234567 Суб ТестСолверСолверОк СетЦелл: = "$ Б $ 14", МакМинВал: = 3, ВалуеОф: = 0, БиЦханге: = "$ Ф $ 2: $ Ф $ 6", Енгине: = 1, ЕнгинеДесц: = "ГРГ Нонлинеар"'додај критеријуме - Ф3 не може бити мањи од 8 СолверАдд ЦеллРеф: = "$ Ф $ 3", Релација: = 3, ФормулаТект: = "8"' додај критеријуме - Ф3 не може бити мањи од 5000СолверАдд ЦеллРеф: = "$ Ф $ 5", Однос: = 3, ФормулаТект: = "5000"'пронаћи решење решавањем проблемаСолверСолвеЕнд Суб

Када покренете код, на екрану ће се приказати следећи прозор. Одаберите жељену опцију (тј. Задржите рјешење рјешавача или Вратите изворне вриједности) и кликните У реду.

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave