Мета пошуку в VBA

Пошук мети в VBA - це процес, за допомогою якого ми можемо націлити мету, яку хочемо досягти. Це такий процес, який показує, скільки нам потрібно зробити для досягнення поставленої цілі. Припустимо, поїзд має час прильоту 10 ранку щодня. Поїзд курсує з понеділка по п’ятницю між станціями A і B. І якщо врахувати середній час прибуття цього поїзда з А до В, це рівно 10 ранку без жодної затримки. Тож якщо наступним є час прибуття цього поїзда 10:16, 10:01, 9:57, 10:04 протягом 4 днів поспіль з понеділка по четвер. А щоб підтримувати середній час 10 ранку, який є цільовим показником для цього поїзда, потрібно прибути о 9.45 ранку, просто підтримувати середній час прибуття 10 ранку. Це може бути ще крутіше, якщо нам є з чим автоматизувати. Приходить VBA Goal Seek .

Синтаксис пошуку мети:

Нижче представлений синтаксис VBA Goal Seek.

Де,

  • Діапазон: комірка цільового діапазону, яка містить межу потоку.
  • Мета : Ліміт або мета, яку ми хочемо досягти.
  • Зміна клітинки: комірка, де ми побачимо необхідний ліміт, який потрібно досягти.

Як користуватися пошуком мети в Excel VBA?

Ми дізнаємось, як використовувати цільовий пошук у Excel за допомогою коду VBA.

Ви можете завантажити цей шаблон пошуку VBA Goal Excel тут - VBA Goal шукайте шаблон Excel

Пошук цілі VBA - приклад №1

Середня точність, яку працівники повинні підтримувати 95% щотижня. Нижче ми маємо дані про точність працівника з понеділка по четвер із середньою точністю 92, 25%, що згадується у комірці С8, як показано нижче.

Тепер, відповідно до синтаксису цілі пошуку, у нас є комірка діапазону, яка має поточне значення для подачі та цільове значення, середня точність якої становить 90%, яку повинен досягти цей працівник.

У цьому прикладі, коли точність роботи працівника під час моніторингу. Для цього виконайте наступні кроки:

Крок 1 : Відкрийте модуль на вкладці меню Вставка, як показано нижче.

Крок 2: Тепер напишіть Sub процедуру пошуку цілі VBA, як показано нижче. Ми можемо вибрати будь-яке ім’я, щоб визначити це.

Код:

 Sub Goal_Seek () Кінець Sub 

Крок 3: Відповідно до синтаксису, ми виберемо клітинку Діапазон, яка містить поточне середнє для подачі. Ось ця клітина є C8.

Код:

 Діапазон Sub Goal_Seek () ("C8"). Кінець Під 

Крок 4: Тепер виберіть функцію пошуку мети та відповідно до синтаксису виберіть цільове значення, яке нам потрібно досягти. Тут ця ціль на 90% точна.

Код:

 Діапазон Sub Goal_Seek () ("C8"). GoalSeek Ціль: = 90 End Sub 

Крок 5: Тепер, нарешті, виберіть діапазон цієї комірки, де нам потрібно побачити необхідну точність, яку потрібно досягти. Тут ця клітинка є С6 із посиланням на клітинку на п'ятницю.

Код:

 Sub діапазон Goal_Seek () ("C8"). GoalSeek Мета: = 90, ChangingCell: = Діапазон ("C6") Кінець Sub 

Крок 6: Тепер, як тільки буде зроблено, ми складемо код і запустимо його. Ми побачимо, що клітинка C6 має значення Змінювальної комірки як 81. Це означає, що якщо цей працівник в п’ятницю зумів досягти навіть 81% точності, то він легко зможе досягти точності 90%.

Пошук цілі VBA - Приклад №2

У цьому прикладі ми маємо дані по черзі (TAT або час на завершення діяльності) деякого працівника команди, який виконує одне і те ж завдання щодня. 5 працівників здійснюють таку ж діяльність з понеділка по п’ятницю. Цільовий час встановлено для завершення цієї діяльності - 50 хв. І нам потрібно знайти, скільки часу повинен зайняти кожен працівник, щоб підтримувати середній час закінчення, що становить 50 хвилин або менше. Для цього виконайте наступні кроки:

Крок 1: У модуль запишіть підпроцедуру для пошуку цілі VBA, як показано нижче.

Код:

 Sub Goal_Seek2 () Кінець Sub 

Крок 2: Визначте змінну, за якою ми можемо порахувати, з чого нам потрібно починати пошук мети як довгий.

Код:

 Sub Goal_Seek2 () Dim A As Long End Sub 

Крок 3: Тепер знову визначте ще 2 змінні, використовуючи DIM з типом даних . Перший буде використовуватися для відстеження поточної кінцевої середньої величини, а другий буде використовуватися для зв’язку опорної комірки, де ми хочемо вихід.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Як діапазон Dim Reference Посилання як діапазон Кінець Sub 

Крок 4: Визначте іншу змінну як цілий, щоб встановити ціль, яку ми хочемо досягти.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Як діапазон Dim Reference Посилання як цільовий діапазон Dim як цілий кінець Sub 

Крок 5: Тут наша ціль становить 50 хвилин, тому встановіть змінну Target з цим значенням.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Як діапазон Dim Reference як цільовий діапазон цілі як цілісний цільовий показник = 50 кінця Sub 

Крок 6: Відкрийте цикл For-Next, як показано нижче.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Як орієнтир Dim Dim як цільовий діапазон цілі як цільовий ціль = 50 для наступного кінця Sub 

Крок 7: Тепер виберіть діапазон тих комірок, які мають значення. Тут ці рядки від 3 до 7 чисел.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Як діапазон Dim Reference Кольоровий діапазон як цільовий діапазон як цілісний ціль = 50 Для A = 3 до 7 Наступний кінець Sub 

Крок 8: Встановіть остаточне середнє значення, звідки ми хочемо отримати. Ось ця клітина знаходиться у рядку 9.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Як орієнтир Dim Dim як ціль діапазону Dim як ціла цілі = 50 Для A = 3 до 7 Встановіть FinalAvg = Осередки (9, A) Наступний кінець Sub 

Етап 9: Аналогічно встановіть діапазон опорних комірок, де ми хочемо побачити значення пошуку мети для досягнення цілі, і що рядок комірки дорівнює 7.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Як діапазон Dim Reference як цільовий діапазон цільової цілі як ціла цілість = 50 для A = 3 до 7 встановити FinalAvg = клітини (9, A) Встановити довідку = клітини (7, A) Наступний кінець Під 

Крок 10: Нарешті, застосуйте пошуковий запит VBA у відповідному синтаксисі, як показано нижче.

Код:

 Sub Goal_Seek2 () Dim A As Long Dim FinalAvg Як діапазон Dim Reference як цільовий діапазон цілі як цілісне ціле = 50 для A = 3 до 7 встановити FinalAvg = клітинки (9, A) Встановити довідку = клітини (7, A) FinalAvg.GoalSeek Ціль, Посилання Далі Кінець Sub 

Крок 11: Тепер складіть повний код, натиснувши функціональну клавішу F8 і запустіть після цього, якщо помилки не знайдено.

Ми побачимо, що в рядку 7 за допомогою цільової задачі ми отримаємо час у хвилинах, яких кожен працівник повинен досягти у п’ятницю, щоб підтримувати в середньому 50 хв і нижче.

Так працює ціль VBA.

Плюси пошуку Excel VBA

  • Ціль пошуку VBA дуже корисний для відстеження результатів різними способами.
  • Це також можна використовувати в багатьох статистичних роботах, де нам потрібно відстежувати та орієнтувати межу даних, яку ми хочемо досягти.
  • Це говорить про точну цінність, яку людина повинна досягти, щоб досягти мети.

Що потрібно пам’ятати

  • Це можна використовувати в Excel та VBA як.
  • Комірка результатів із середньою чи іншою функцією завжди повинна мати формулу.
  • Ми можемо ввести цільове значення в ціль у синтаксисі Пошуку цілі, або ще можемо визначити це раніше окремо.
  • Ми можемо змінити та оновити цільове значення відповідно до наших потреб та вимог.
  • Це завдання неможливо виконати, записавши параметр макросів, доступний на вкладці розробника.
  • Закінчивши, не забудьте зберегти файл excel у форматі включення макросу, щоб зберегти записаний код.

Рекомендована стаття

Це посібник із пошуку мети VBA. Тут ми обговорюємо, як використовувати Goal Seek у Excel VBA разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

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

Категорія: