Hľadanie cieľov VBA Ako používať hľadanie cieľov na nájdenie hodnoty v programe Excel VBA?

Hľadanie cieľov v programe Excel VBA

Goal Seek je nástroj dostupný v programe Excel VBA, ktorý nám pomáha nájsť požadovaný počet, ktorý je potrebné dosiahnuť, aby sme sa dostali k stanovenému cieľu.

Napríklad ste študent a zo šiestich dostupných predmetov ste dosiahli priemerné skóre 90%. Od tejto chvíle ste absolvovali 5 skúšok a zostal vám iba jeden predmet. Vaše očakávané skóre z piatich absolvovaných predmetov je 89, 88, 91, 87, 89 a 90. Teraz chcete vedieť, koľko musíte skóre v záverečnej skúške dosiahnuť, aby ste dosiahli celkový priemerný percentuálny cieľ 90%.

To je možné dosiahnuť pomocou nástroja GOAL SEEK v pracovnom hárku programu Excel aj v kódovaní VBA. Pozrime sa, ako to funguje s VBA.

Syntax hľadania cieľov VBA

V hľadaní cieľa VBA musíme určiť hodnotu, ktorú meníme, a dospieť k konečnému cieľovému výsledku, preto zadajte odkaz na bunku pomocou objektu VBA RANGE. Neskôr môžeme vstúpiť do možnosti HĽADAŤ CIEĽ.

Nižšie je uvedená syntax cieľového vyhľadávania vo VBA.

  • Range (): V tomto prípade musíme dodať odkaz na bunku tam, kde potrebujeme na dosiahnutie cieľovej hodnoty.
  • Cieľ: V tomto argumente musíme zadať, aký je cieľ, ktorý sa snažíme dosiahnuť.
  • Zmena bunky: V tomto argumente musíme dodať zmenou hodnoty bunky, ktorú potrebujeme na dosiahnutie cieľa.

Príklady hľadania cieľov programu Excel VBA

Nasledujú príklady cieľov v programe Excel VBA.

Hľadanie cieľov VBA - príklad č

Zoberme si príklad iba priemerného skóre vyšetrenia. Nižšie je uvedené očakávané skóre 5 predmetov z absolvovanej skúšky.

Najprv musíme prísť na to, aké je priemerné skóre z absolvovaných 5 predmetov. V bunke B8 použite funkciu PRIEMER.

V tomto príklade je naším cieľom 90 a Zmena bunky bude B7 . Goal Seek nám teda pomôže nájsť cieľové skóre z finálneho predmetu, aby sme dosiahli celkový priemer 90.

Spustite podproces v module triedy VBA.

Kód:

Sub Cieľ_Seek_Example1 () Koncový sub

Teraz potrebujeme výsledok v bunke B8, takže zadajte tento odkaz na rozsah pomocou objektu RANGE.

Kód:

Sub Goal_Seek_Example1 () Range ("B8") End Sub

Teraz vložte bodku a zadajte možnosť „Goal Seek“.

Prvým argumentom je „cieľ“. Potrebujeme zadať náš konečný cieľ, aby sme dorazili do RANGE B8. V tomto príklade sa snažíme dosiahnuť cieľ 90.

Kód:

Sub Goal_Seek_Example1 () Range ("B8"). GoalSeek Goal: = 90 End Sub

Ďalším argumentom je „Zmena bunky“, musíme dodať, do ktorej bunky potrebujeme novú hodnotu, aby sme dosiahli cieľ.

Kód:

Sub Goal_Seek_Example1 () Range ("B8"). GoalSeek Goal: = 90, ChangingCell: = Range ("B7") End Sub

V tomto príklade je našou meniacou sa bunkou Sub 6 bunka, tj. B7 bunka.

Dobre, spustíme kód, aby sme zistili, čo je potrebné urobiť v poslednom predmete, aby sme dosiahli celkové priemerné percento 90.

Takže v poslednom predmete musí byť skóre 95, aby bol celkový priemer 90.

Hľadanie cieľov VBA - príklad č. 2

Naučili sme sa, ako uplatniť VYHLEDÁVANIE CIEĽOV na nájdenie počtu potrebného na dosiahnutie cieľa. Teraz uvidíme niekoľko pokročilých príkladov hľadania skóre záverečnej skúšky pre viac ako jedného študenta.

Nižšie sú uvedené predpokladané skóre 5 predmetov po skúške.

Pretože hľadáme cieľ pre viac ako jedného študenta, musíme použiť slučky. Nižšie je uvedený kód pre vás.

Kód:

Sub Goal_Seek_Example2 () Dim k As Long Dim ResultCell As Range Dim ChangingCell As Range Dim TargetScore As Integer TargetScore = 90 For k = 2 to 5 Set ResultCell = Cells (8, k) Set ChangingCell = Cells (7, k) ResultCell.GoalSeek TargetScore, ChangingCell Ďalej k Koniec Sub

Tento kód prevedie všetky skóre študentov a poskytne skóre konečného testu potrebné na dosiahnutie celkového priemeru 90.

Takže teraz sme dostali konečný výsledok,

Študent A potrebuje skóre iba 83, aby si zabezpečil celkových 90 percent, a študent D potrebuje skóre 93.

Ale pozrite sa na študenta B. Potrebujú pri záverečnej skúške skóre 104, čo nie je vôbec možné.

Takto pomocou analýzy GOAL SEEK môžeme nájsť požadovaný počet na dosiahnutie cieľového počtu v polovici projektu alebo procesu.

Na čo treba pamätať

  • Goal Seek je k dispozícii s nástrojmi pre pracovné hárky aj s nástrojom VBA.
  • Výsledná bunka by mala vždy obsahovať vzorec.
  • Musíme zadať hodnotu cieľa a zmeniť odkaz na bunku na nástroj hľadania cieľa.

Zaujímavé články...