Hledejte cíl ve VBA

Hledání cílů ve VBA je proces, kterým můžeme cílit na cíl, kterého chceme dosáhnout. Toto je proces, který ukazuje, kolik toho musíme udělat, abychom dosáhli stanoveného cíle. Předpokládejme, že vlak má čas příjezdu 10 hodin denně. Vlak jezdí od pondělí do pátku mezi A a B. A vzhledem k průměrné době příjezdu tohoto vlaku z A do B je přesně 10:00 bez prodlení. Pokud tedy následuje čas příjezdu tohoto vlaku 10:16, 10:01, 9:57, 10:04, po sobě jdoucí 4 dny od pondělí do čtvrtka. A aby byla zachována průměrná doba 10 hodin, která je cílem stanoveným pro tento vlak, musí dorazit do 9, 45 hodin, jen aby byla zachována průměrná doba příjezdu 10 hodin. To by mohlo být ještě chladnější, pokud máme s čím něco zautomatizovat. Přichází VBA Goal Seek .

Syntaxe pro hledání cíle:

Níže je uvedena syntaxe vyhledávání cílů VBA.

Kde,

  • Rozsah: Cílová oblast dosahu, která obsahuje aktuální limit.
  • Cíl : Limit nebo cíl, kterého chceme dosáhnout.
  • Změna buňky: Buňka, kde uvidíme požadovaný limit, kterého má být dosaženo.

Jak používat vyhledávání cílů v aplikaci Excel VBA?

Naučíme se, jak používat vyhledávání cílů v Excelu pomocí kódu VBA.

Tuto šablonu VBA Goal Seek Excel si můžete stáhnout zde - VBA Goal Seek Excel Template

Vyhledání cíle VBA - Příklad č. 1

Průměrná přesnost, kterou by si zaměstnanci měli udržovat na 95% týdně. Níže máme údaje o přesnosti zaměstnance od pondělí do čtvrtka s průměrnou přesností 92, 25%, která je uvedena v buňce C8, jak je ukázáno níže.

Nyní, podle syntaxe Goal Seek, máme buňku Range, která má aktuální hodnotu pro krmení a Target value, což je průměrná přesnost 90%, které má daný zaměstnanec dosáhnout.

V tomto příkladu, kdy je přesnost práce zaměstnance sledována. Postupujte podle následujících kroků:

Krok 1 : Otevřete modul na kartě nabídky Vložit, jak je znázorněno níže.

Krok 2: Nyní napište proceduru Sub pro VBA Goal Seek, jak je ukázáno níže. Můžeme si vybrat jakýkoli název, který to definuje.

Kód:

 Sub Goal_Seek () End Sub 

Krok 3: Podle syntaxe vybereme buňku Range, která obsahuje aktuální průměr, který má být přiváděn. Zde je buňkou C8.

Kód:

 Rozsah dílčího cíle () („C8“). End Sub 

Krok 4: Nyní vyberte funkci Hledání cíle a podle syntaxe vyberte cílovou hodnotu, kterou musíme dosáhnout. Zde je tento cíl 90% přesný.

Kód:

 Dílčí cíl (Goal_Seek) () ("C8"). Brankový cíl: = 90 End Sub 

Krok 5: Nyní konečně vyberte rozsah této buňky, kde musíme vidět požadovanou přesnost, aby bylo dosaženo. Zde je buňka C6 s odkazem na buňku na pátek.

Kód:

 Dílčí cíl Goal_Seek () ("C8"). GoalSeek Cíl: = 90, ChangingCell: = Range ("C6") End Sub 

Krok 6: Jakmile to uděláme, sestavíme kód a spustíme ho. Uvidíme, že buňka C6 má hodnotu měnící se buňky jako 81. To znamená, že pokud se tomuto zaměstnanci podařilo dosáhnout v pátek dokonce 81% přesnosti, bude snadno schopen dosáhnout přesnosti 90%.

Vyhledání cíle VBA - Příklad č. 2

V tomto příkladu máme údaje o době obratu (TAT nebo o čase na dokončení činnosti) některého zaměstnance týmu, který provádí každý den stejný úkol. 5 zaměstnanců vykonává stejnou činnost od pondělí do pátku. Cílový čas je nastaven pro dokončení této aktivity je 50 min. A musíme zjistit, kolik času musí každý zaměstnanec potřebovat, aby udržel průměrnou dobu dokončení 50 min nebo méně. Postupujte podle následujících kroků:

Krok 1: Do modulu napište podprogram pro vyhledávání cílů VBA, jak je ukázáno níže.

Kód:

 Sub Goal_Seek2 () End Sub 

Krok 2: Definujte proměnnou, podle které můžeme počítat od místa, kde musíme začít hledat cíl tak dlouho.

Kód:

 Sub Goal_Seek2 () Dim A jako Long End Sub 

Krok 3: Nyní znovu definujte 2 další proměnné pomocí DIM s datovým typem Range . První bude použit ke sledování aktuálního konečného průměru a druhý bude použit k propojení referenční buňky, kde chceme výstup.

Kód:

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

Krok 4: Definujte jinou proměnnou jako celé číslo pro nastavení cíle, kterého chceme dosáhnout.

Kód:

 Sub Goal_Seek2 () Dim A jako Long Dim FinalAvg jako Range Dim Reference jako Range Dim Target jako Celočíselný konec Sub 

Krok 5: Zde je náš cíl 50 min, proto nastavte cílovou proměnnou s touto hodnotou.

Kód:

 Sub Goal_Seek2 () Dim A jako Long Dim FinalAvg jako Range Dim Reference jako Range Dim Target jako Integer Target = 50 End Sub 

Krok 6: Otevřete smyčku For-Next, jak je ukázáno níže.

Kód:

 Sub Goal_Seek2 () Dim A jako Long Dim FinalAvg jako Range Dim Reference jako Range Dim Target jako Integer Target = 50 Pro Next A End Sub 

Krok 7: Nyní vyberte rozsah těch buněk, které mají hodnoty. Zde jsou tyto řádky od 3 do 7 čísel.

Kód:

 Sub Goal_Seek2 () Dim A jako Long Dim FinalAvg jako Range Dim Reference jako Range Dim Target jako Integer Target = 50 Pro A = 3 až 7 Next A End Sub 

Krok 8: Nastavte konečný průměr, odkud se chceme dostat. Zde je tato buňka v řádku 9.

Kód:

 Sub Goal_Seek2 () Dim A jako Long Dim FinalAvg jako Range Dim Reference jako Range Dim Target jako Integer Target = 50 Pro A = 3 až 7 Set FinalAvg = Buňky (9, A) Next A End Sub 

Krok 9: Podobně nastavte rozsah referenčních buněk, kde chceme, aby hodnota cíle hledání dosáhla cíle a aby řádek buněk byl 7.

Kód:

 Sub Goal_Seek2 () Dim A jako Long Dim FinalAvg jako Range Dim Reference jako Range Dim Target jako Integer Target = 50 Pro A = 3 až 7 Set FinalAvg = Buňky (9, A) Set Reference = Buňky (7, A) Next A End Sub 

Krok 10: Nakonec aplikujte vyhledávání cílů VBA se správnou syntaxí, jak je ukázáno níže.

Kód:

 Sub Goal_Seek2 () Dim A jako Long Dim FinalAvg jako Range Dim Reference jako Range Dim Target jako Integer Target = 50 Pro A = 3 až 7 Set FinalAvg = Buňky (9, A) Set Reference = Buňky (7, A) FinalAvg.GoalSeek Target, Reference Next A End Sub 

Krok 11: Nyní zkompilujte celý kód stisknutím funkční klávesy F8 a poté spusťte, pokud není nalezena žádná chyba.

Uvidíme, v řádku 7 s pomocí Goal Seek dostaneme čas v minutách, které musí každý zaměstnanec dosáhnout v pátek, aby udržel průměr 50 minut nebo méně.

Takto funguje vyhledávání cílů VBA.

Výhody aplikace Excel VBA Goal Seek

  • VBA Goal Seek je velmi užitečná při sledování výkonu různými způsoby.
  • To lze použít také v mnoha statistických pracích, kde musíme sledovat a zacílit datový limit, kterého chceme dosáhnout.
  • Toto říká přesnou hodnotu, kterou člověk potřebuje k dosažení cíle.

Co si pamatovat

  • To lze použít v Excelu i VBA.
  • Výsledná buňka s průměrem nebo jinou funkcí musí mít vždy vzorec.
  • Cílovou hodnotu můžeme zadat do cíle v syntaxi cíle, jinak ji můžeme také definovat dříve samostatně.
  • Cílovou hodnotu můžeme změnit a aktualizovat podle našich potřeb a požadavků.
  • Tuto úlohu nelze provést zaznamenáním možnosti maker, která je k dispozici na kartě vývojáře.
  • Po dokončení nezapomeňte uložit soubor Excel ve formátu povolení makra, aby se zachoval zapsaný kód.

Doporučený článek

Toto je průvodce vyhledáním cíle VBA. Zde diskutujeme o tom, jak používat Goal Seek v Excelu VBA spolu s praktickými příklady a stahovatelnou šablonou Excel. Můžete si také prohlédnout naše další doporučené články -

  1. Kolekce VBA (příklady)
  2. VBA IF Prohlášení | Šablony Excelu
  3. Jak používat funkci řazení Excel VBA?
  4. VBA while Loop (příklady se šablonou Excel)
  5. Funkce VBA Environ

Kategorie: