Iskanje ciljev VBA | Kako uporabiti Goal Seek za iskanje vrednosti v Excelu VBA?

Iskanje ciljev v Excelu VBA

Iskanje ciljev je orodje, ki je na voljo v excelu VBA in nam pomaga najti potrebno število, ki ga je treba doseči, da pridemo do zastavljenega cilja.

Na primer, študent ste in ste ciljali povprečno oceno 90% iz šestih razpoložljivih predmetov. Zdaj ste opravili 5 izpitov in vam je ostal le še en predmet, predvideni rezultati petih opravljenih predmetov so 89, 88, 91, 87, 89 in 90. Zdaj želite vedeti, koliko morate doseči zadnji izpit za dosego splošnega povprečnega odstotka 90%.

To lahko storite tako, da uporabite GOAL SEEK v Excelovem delovnem listu in tudi pri kodiranju VBA. Poglejmo, kako deluje z VBA.

Sintaksa iskanja ciljev VBA

V VBA Goal Seek moramo določiti vrednost, ki jo spreminjamo, in doseči končni ciljni rezultat, zato navedite referenco celice z uporabo predmeta VBA RANGE, kasneje bomo lahko dostopali do možnosti GOAL SEEK.

Spodaj je sintaksa iskanja ciljev v VBA.

  • Obseg (): Pri tem moramo navesti referenco celice, kjer moramo doseči ciljno vrednost.
  • Cilj: V tem argumentu moramo vnesti, kaj je cilj, ki ga želimo doseči.
  • Spreminjanje celice: V tem argumentu moramo ponuditi s spreminjanjem vrednosti celice, ki jo potrebujemo za dosego cilja.

Primeri iskanja ciljev Excel VBA

Sledijo primeri iskanja ciljev v Excelu VBA.

To predlogo programa VBA Goal Seek Excel lahko prenesete tukaj - Predloga programa VBA Goal Seek Excel

Iskanje ciljev VBA - primer # 1

Vzemimo za primer samo povprečni rezultat izpita. Spodaj je predvidena ocena 5 predmetov opravljenega izpita.

Najprej moramo ugotoviti, kakšen je povprečni rezultat opravljenih 5 predmetov. Uporabi funkcijo AVERAGE v celici B8.

V tem primeru je naš cilj 90, Spreminjanje celice bo B7 . Goal Seek nam bo torej pomagal najti ciljni rezultat iz končne teme, da bomo dosegli skupno povprečje 90.

Zaženite podproces v modulu razreda VBA.

Koda:

 Podcilj_Poglej_Primer1 () Konec Pod 

Zdaj potrebujemo rezultat v celici B8, zato podajte to referenco obsega z uporabo predmeta RANGE.

Koda:

 Podcilj_Poglej_Primer1 () Obseg ("B8") Konec Pod 

Zdaj postavite piko in vnesite možnost »Iskanje cilja«.

Prvi argument je »Cilj«. Za to moramo vnesti svoj končni cilj, da pridemo v RANGE B8. V tem primeru skušamo doseči cilj 90.

Koda:

 Podcilj_Seek_Example1 () Obseg ("B8"). Cilj GoeSeek: = 90 Končni pod 

Naslednji argument je »Spreminjanje celice«, zato moramo navesti, v kateri celici potrebujemo novo vrednost za dosego cilja.

Koda:

 Sub Goal_Seek_Example1 () Obseg ("B8"). GoalSeek Cilj: = 90, ChangingCell: = Obseg ("B7") Konec Sub 

V tem primeru je naša celica, ki se spreminja, celica Sub 6, torej celica B7.

Ok, zaženimo kodo, da vidimo, kaj je treba narediti v zadnjem predmetu, da dosežemo skupni povprečni odstotek 90.

V zadnjem predmetu je torej treba doseči 95, da dobimo skupno povprečje 90.

Iskanje ciljev VBA - primer št. 2

Naučili smo se, kako uporabiti GOAL SEEK, da bi našli število, potrebno za dosego cilja. Zdaj bomo videli nekaj naprednih primerov iskanja končnega izpita za več kot enega študenta.

Spodaj so predvideni rezultati 5 predmetov po izpitu.

Ker iščemo cilj za več kot enega študenta, moramo uporabiti zanke, spodaj je koda za vas.

Koda:

 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 Next k End Sub 

Ta koda bo zavila skozi vse ocene študentov in prispela končni izpit, potreben za dosego skupnega povprečja 90.

Tako smo končni rezultat dobili zdaj kot,

Student A needs to score just 83 to secure the overall 90 percentage and Student D needs to score 93.

But look at Student B & C they need to score 104 each in the final examination which is not possible at all.

Like this using GOAL SEEK analysis we can find the required number to achieve the targeted number mid through the project or process.

Things to Remember

  • Goal Seek is available with both worksheet tool as well as VBA tool.
  • Result cell should always contain a formula.
  • We need to enter goal value and changing cell reference to the goal seek tool.