Търсете цел във VBA

Търсене на цел във VBA е процесът, чрез който можем да се насочим към целта, която искаме да постигнем. Това е процес, който показва колко трябва да направим, за да постигнем поставената цел. Да предположим, че влакът има време на пристигане 10 часа сутринта. Влакът се движи от понеделник до петък между A и B. И като се има предвид средното време на пристигане на този влак от A до B е точно 10 AM без никакво закъснение. Така че, ако следното е времето на пристигане на влака 10:16 AM, 10:01 AM, 9:57 AM, 10:04 AM за последователни 4 дни от понеделник до четвъртък. И за да поддържа средното време от 10 часа сутринта, което е зададената цел за този влак, трябва да пристигне в 9.45 ч., Само за да поддържа средното време на пристигане от 10 часа сутринта. Това може да бъде още по-готино, ако имаме с какво да се автоматизираме. Идва VBA Goal Seek .

Синтаксис за търсене на цел:

По-долу е синтаксисът на VBA Goal Seek.

Където,

  • Диапазон: клетката на целевия диапазон, която съдържа текущото ограничение.
  • Цел : Ограничението или целта, която искаме да постигнем.
  • Промяна на клетката: клетката, в която ще видим необходимото ограничение, което трябва да бъде постигнато.

Как да използвате търсенето на цел в Excel VBA?

Ще научим как да използваме Цел на търсене в Excel, като използваме кода VBA.

Можете да изтеглите този шаблон на VBA за търсене на Excel тук - VBA Goal Търсете шаблон на Excel

Търсене на цел VBA - Пример №1

Средната точност, която служителите трябва да поддържат 95% седмично. По-долу имаме данните за точността на служителя от понеделник до четвъртък със средна точност 92, 25%, която се споменава в клетка C8, както е показано по-долу.

Сега, според синтаксиса на „Цел на търсене“, имаме клетка „Диапазон“, която има текущата стойност за захранване, и „Целева стойност“, която е средна точност от 90%, която трябва да бъде постигната от този служител.

В този пример, когато точността на работата на служителя при наблюдение. За това следвайте стъпките по-долу:

Стъпка 1 : Отворете модула от раздел Вмъкване на менюто, както е показано по-долу.

Стъпка 2: Сега напишете Sub процедурата на VBA Цел на търсенето, както е показано по-долу. Можем да изберем всяко име, за да го определим.

Код:

 Sub Goal_Seek () Край Sub 

Стъпка 3: Съгласно синтаксиса, ние ще изберем клетката за диапазон, която съдържа текущата средна стойност, която ще бъде подадена. Тук тази клетка е C8.

Код:

 Подцелеви диапазон на целевата цел () („C8“). Край Sub 

Стъпка 4: Сега изберете функцията за търсене на цел и според синтаксиса изберете целевата стойност, която трябва да постигнем. Ето, тази цел е 90% точна.

Код:

 Диапазон на Sub Goal_Seek () („C8“). GoalSeek Цел: = 90 Край Sub 

Стъпка 5: Сега, най-сетне, изберете обхвата на тази клетка, където трябва да видим необходимата точност, която трябва да бъде постигната. Тук тази клетка е C6 с препратка към петък.

Код:

 Подцелеви диапазон на Целта_Сеек () ("С8"). Цел на целта на целта: = 90, Промяна на клетката: = Обхват ("С6") Краен под 

Стъпка 6: Веднъж свършена, ще компилираме кода и ще го изпълним. Ще видим, че клетка C6 има стойността на Променящата се клетка като 81. Това означава, че ако този служител е успял да постигне дори 81% точност в петък, тогава той лесно ще може да постигне точността от 90%.

Търсене на цел VBA - Пример №2

В този пример имаме данни за оборотно време (TAT или време за завършване на дейността) на някой служител на екип, който изпълнява една и съща задача всеки ден. 5 служители извършват същата дейност от понеделник до петък. Целевото време е зададено за завършване на тази дейност е 50 минути. И трябва да намерим колко време трябва да отдели всеки служител, за да поддържа средното време на завършване 50 минути или по-малко. За това следвайте стъпките по-долу:

Стъпка 1: В Модул напишете подпроцедурата за търсене на цел VBA, както е показано по-долу.

Код:

 Sub Goal_Seek2 () Край Sub 

Стъпка 2: Определете променлива, чрез която можем да преброим откъде трябва да стартираме търсенето на цел като дълга.

Код:

 Sub Goal_Seek2 () Dim A като Long End Sub 

Стъпка 3: Сега отново определете още 2 променливи, като използвате DIM с тип данни Диапазон . Първата ще бъде използвана за проследяване на текущата крайна средна стойност, а втората ще бъде използвана за свързване на референтната клетка, където искаме изхода.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg As Range Dim Reference as Range End Sub 

Стъпка 4: Определете друга променлива като цяло число, за да зададете целта, която искаме да постигнем.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Като диапазон Dim Reference като диапазон Dim target като целият край Sub 

Стъпка 5: Тук нашата цел е 50 минути, така че задайте променливата Target с тази стойност.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Като диапазон Dim Reference като обхват Dim target като целочислена цел = 50 край Sub 

Стъпка 6: Отворете контура For-Next, както е показано по-долу.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Като диапазон Dim Reference като обхват Dim target като целочислена цел = 50 за следващия край 

Стъпка 7: Сега изберете обхвата на тези клетки, които имат стойностите. Тук тези редове са от 3 до 7 числа.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Като диапазон Dim Reference като обхват Dim target като целна цел = 50 за A = 3 до 7 Next A End Sub 

Стъпка 8: Задайте крайната средна стойност, от която искаме да стигнем. Тук тази клетка е в ред 9.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Като диапазон Dim Reference като обхват Dim Target като цяло число = 50 за A = 3 до 7 задайте FinalAvg = клетки (9, A) Next A End Sub 

Стъпка 9: По подобен начин задайте диапазона на референтната клетка, където искаме да видим целта да търси стойност, за да постигнем целта и този ред на клетката е 7.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Като диапазон Dim Reference като обхват Dim Target като цяло число = 50 за A = 3 до 7 задайте FinalAvg = клетки (9, A) Задайте референция = клетки (7, A) Следващ край подводница 

Стъпка 10: Най-сетне приложете VBA Целевото търсене с подходящ синтаксис, както е показано по-долу.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg като диапазон Dim Reference като обхват Dim target като целна цел = 50 за A = 3 до 7 задайте FinalAvg = клетки (9, A) Задайте референция = клетки (7, A) FinalAvg.GoalSeek Цел, справка Следващ Край Sub 

Стъпка 11: Сега компилирайте пълния код, като натиснете функционалния клавиш F8 и стартирайте след това, ако не се намери грешка.

Ще видим, на ред 7 с помощта на Goal Seek ще получим време за минути, които всеки служител трябва да постигне в петък, за да поддържа средната стойност от 50 минути или по-ниска.

Ето как работи VBA Goal Seek.

Плюсове на Excel VBA Цел на търсенето

  • Целта на VBA е много полезна при проследяване на представянето по различни начини.
  • Това може да се използва и в много статистически дейности, където трябва да проследим и насочим лимита на данни, който искаме да постигнем.
  • Това показва точната стойност, която човек трябва да постигне, за да постигне целта.

Неща, които трябва да запомните

  • Това може да се използва както в Excel, така и в VBA.
  • Клетката за резултат със средна или друга функция трябва винаги да има формулата.
  • Можем да въведем целевата стойност в Целта в синтаксиса на търсенето на цел, или иначе може да определим това по-рано отделно.
  • Можем да променим и актуализираме целевата стойност според нашите нужди и изисквания.
  • Тази задача не може да бъде изпълнена чрез запис на опцията за макроси, налична в раздела за програмисти.
  • След като сте готови, не забравяйте да запазите файла excel във формат за активиране на макрос, за да запазите написания код.

Препоръчителен член

Това е ръководство за търсене на цели VBA. Тук обсъждаме как да използвате Целево търсене в Excel VBA, заедно с практически примери и шаблон за excel за сваляне. Можете да разгледате и другите ни предложени статии -

  1. VBA колекция (примери)
  2. VBA IF изявления | Excel Шаблони
  3. Как да използвате функция за сортиране на Excel VBA?
  4. VBA докато цикъл (примери с шаблон на Excel)
  5. Функция за околната среда на VBA

Категория: