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

Lang L: none (table-of-contents)

Eesmärgi 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 sihtinud kuuele saadaolevale õppeainele keskmiselt 90%. Praeguse seisuga olete sooritanud 5 eksamit ja teile jääb ainult üks aine. Teie eeldatavad hinded viiest lõpetatud õppeainest on 89, 88, 91, 87, 89 ja 90. Nüüd soovite teada, kui palju peate lõpueksamil skoorima, et saavutada üldine keskmine protsendimäär 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 GOAL SEEK valikule.

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 selle väärtust, mida me eesmärgi saavutamiseks vajame.

Näited Exceli VBA eesmärkide otsimisest

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

VBA eesmärkide otsimine - näide 1

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

Esiteks peame jõudma 5-st lõpetatud õppeainest saadud keskmisele punktile. Rakendage lahtris B8 funktsioon AVERAGE.

Selles näites on meie eesmärk 90 ja 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

Pange nüüd punkt ja sisestage valik „Eesmärgi otsimine”.

Esimene argument on selle jaoks eesmärk. RANGE B8 jõudmiseks peame sisestama oma lõppeesmärgi. 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 selle jaoks „Muutuv lahter“. Peame pakkuma, millises lahtris vajame eesmärgi saavutamiseks uut väärtust .

Kood:

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

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

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

Nii et viimases õppeaines tuleb kokku saada 95, et saada keskmine 90.

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õningaid täpsemaid näiteid, kuidas leida rohkem kui ühe õpilase lõpueksami skoor.

Allpool on 5 eksami eeldatavad hinded pärast eksamit.

Kuna leiame eesmärgi mitmele õ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,

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

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

Sarnaselt GOAL SEEK analüüsi abil leiame projekti või protsessi kaudu vajaliku arvu, et saavutada sihitud arv keskel.

Asjad, mida meeles pidada

  • Eesmärgiotsing on saadaval nii töölehe kui ka VBA tööriistaga.
  • Saadud lahter peaks alati sisaldama valemit.
  • Peame sisestama eesmärgi väärtuse ja muutma lahtri viite eesmärgi otsimise tööriistale.

Huvitavad Artiklid...