VBA eesmärkide otsimine | Kuidas kasutada eesmärgiotsingut Exceli VBA-s väärtuse leidmiseks?

Eesmärkide otsimine Exceli VBA-s

Eesmärgiotsing on Exceli VBA-s saadaval olev tööriist, mis aitab meil leida vajaliku arvu, mis on vaja seatud eesmärgi saavutamiseks.

Näiteks olete üliõpilane ja olete kuuelt saadaolevalt õppeainelt sihtinud keskmiselt 90%. Praeguseks on teil sooritatud 5 eksamit ja teile jääb ainult üks õppeaine. Teie eeldatavad hinded viiest lõpetatud õppeainest on 89, 88, 91, 87, 89 ja 90. Nüüd soovite teada, kui palju teil on vaja lõpueksam, et saavutada üldine keskmine protsentuaalne eesmärk 90%.

Seda saab teha nii Exceli töölehel kui ka VBA kodeerimisel GOAL SEEK-i abil. Vaatame, kuidas see VBA-ga töötab.

VBA eesmärkide otsimise süntaks

Rakenduses VBA Goal Seek peame määrama väärtuse, mida muudame, ja jõudma lõpliku sihitud tulemuseni, seega edastage lahtriviide objekti VBA RANGE abil, hiljem pääseme juurde suvandile GOAL SEEK.

Allpool on eesmärkide otsimise süntaks VBA-s.

  • Vahemik (): selles peame esitama lahtriviite seal, kus peame saavutama sihitud väärtuse.
  • Eesmärk: Selles argumendis peame sisestama, mis on eesmärk, mida proovime saavutada.
  • Lahtri muutmine: Selles argumendis peame pakkuma, muutes eesmärgi saavutamiseks vajaliku raku väärtust.

Näited Exceli VBA eesmärkide otsimisest

Järgnevalt on toodud näited eesmärgi otsimisest Exceli VBA-s.

Selle VBA Goal Seek Exceli malli saate alla laadida siit - VBA Goal Seek Exceli mall

VBA eesmärkide otsimine - näide 1

Võtame näiteks eksami keskmise hinde. Allpool on 5 eksami eeldatav skoor lõpetatud eksamilt.

Kõigepealt peame jõudma 5-st lõpetatud õppeainest saadud keskmise tulemuseni. Rakenda lahtrisse B8 funktsioon AVERAGE.

Selles näites on meie eesmärk 90, muutuv lahter on B7 . Nii et eesmärkide otsimine aitab meil leida lõpliku õppeaine sihitud punktisumma, et saavutada üldine keskmine 90.

Alustage alamprotseduuri VBA klassi moodulis.

Kood:

 Alam-eesmärk_otsingu_näide1 () Lõpp-alam 

Nüüd vajame tulemust lahtrisse B8, nii et sisestage see vahemiku viide objekti RANGE abil.

Kood:

 Alam-eesmärgi_otsingu_näide1 () vahemik ("B8") Lõpp-alam 

Nüüd pange punkt ja sisestage valik „Eesmärgi otsimine“.

Esimene argument on "eesmärk", selleks peame sisestama oma lõppeesmärgi, et jõuda vahemikku B8. Selles näites püüame saavutada eesmärki 90.

Kood:

 Alam-eesmärgi_otsingu_näide1 () vahemik ("B8"). GoalSeeki eesmärk: = 90 Lõpp-alam 

Järgmine argument on „Muutuv lahter“, selle jaoks peame pakkuma, millises lahtris vajame eesmärgi saavutamiseks uut väärtust .

Kood:

 Alam Goal_Seek_Eample1 () vahemik ("B8"). GoalSeek Goal: = 90, ChangingCell: = Range ("B7") Lõpp alam 

Selles näites on meie muutuv rakk Sub 6 lahter ehk B7 rakk.

Ok, käivitame koodi, et näha, mida tuleb viimases õppeaines teha, et saavutada üldine keskmine protsent 90.

Niisiis, viimases õppeaines tuleb üldhinnanguks 90 saada 95.

VBA eesmärkide otsimine - näide 2

Oleme õppinud, kuidas GOAL SEEK-i rakendada, et leida eesmärgi saavutamiseks vajalik arv. Nüüd näeme mõnda täpsemat näidet lõpueksami skoori leidmiseks rohkem kui ühe õpilase kohta.

Allpool on 5 eksami eeldatavad hinded pärast eksamit.

Kuna leiame eesmärgi rohkem kui ühele õpilasele, peame kasutama tsükleid, allpool on teie kood.

Kood:

 Alam Goal_Seek_Eexample2 () 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 

See kood viib läbi kõigi õpilaste hinded ja saab lõpliku eksami punktisumma, mis on vajalik üldise keskmise 90 saavutamiseks.

Nii et saime nüüd lõpptulemuse,

Üliõpilane A peab saavutama 90 protsendi kindlustamiseks vaid 83 ja õpilane D 93.

Kuid vaadake õpilaste B & C-d, mida nad peavad lõpueksamil hindama 104, mis pole üldse võimalik.

Nii saame GOAL SEEK-i analüüsi abil leida vajaliku arvu, et saavutada projekti või protsessi keskel sihitud arv.

Asjad, mida meeles pidada

  • Eesmärgiotsing on saadaval nii töölehe kui ka VBA tööriistaga.
  • Tulemusel olev lahter peaks alati sisaldama valemit.
  • Peame sisestama eesmärgi väärtuse ja muutma lahtriviidet eesmärgiotsingu tööriistale.

$config[zx-auto] not found$config[zx-overlay] not found