Căutarea obiectivului VBA - Cum se folosește Căutarea obiectivelor pentru a găsi valoare în Excel VBA?

Căutarea obiectivelor în Excel VBA

Goal Seek este instrumentul disponibil în excel VBA, care ne ajută să găsim numărul necesar care trebuie atins pentru a ajunge la ținta stabilită.

De exemplu, sunteți student și ați vizat un scor mediu de 90% din șase subiecte disponibile. De acum, ați finalizat 5 examene și rămâneți cu o singură materie. Scorurile dvs. anticipate de la cinci subiecte finalizate sunt 89, 88, 91, 87, 89 și 90. Acum doriți să știți cât trebuie să înscrieți la examenul final pentru a atinge obiectivul procentual mediu global de 90%.

Acest lucru se poate face folosind GOAL SEEK în foaia de lucru Excel, precum și în codificarea VBA. Să vedem cum funcționează cu VBA.

Sintaxa căutării obiectivului VBA

În VBA Goal Seek, trebuie să specificăm valoarea pe care o schimbăm și să ajungem la rezultatul vizat final, deci furnizați referința celulei utilizând obiectul VBA RANGE. Mai târziu putem accesa opțiunea GOAL SEEK.

Mai jos este sintaxa căutării obiectivelor în VBA.

  • Range (): În acest sens, trebuie să furnizăm referința celulei acolo unde trebuie să atingem valoarea vizată.
  • Scop: În acest argument, trebuie să introducem care este obiectivul pe care încercăm să îl atingem.
  • Schimbarea celulei: În acest argument, trebuie să furnizăm schimbând valoarea celulei de care avem nevoie pentru a atinge obiectivul.

Exemple de căutare a obiectivelor Excel VBA

Următoarele sunt exemple de căutare a obiectivelor în Excel VBA.

Căutarea obiectivului VBA - Exemplul nr. 1

Să luăm exemplul unui scor mediu la examen. Mai jos este scorul anticipat de 5 subiecte de la examenul finalizat.

În primul rând, trebuie să ajungem la care este scorul mediu din cele 5 subiecte completate. Aplicați funcția MEDIE în celula B8.

În acest exemplu, obiectivul nostru este 90, iar celula în schimbare va fi B7 . Deci Goal Seek ne va ajuta să găsim scorul vizat de la subiectul final pentru a atinge media generală de 90.

Porniți subprocedura în modulul clasei VBA.

Cod:

Sub Goal_Seek_Example1 () End Sub

Acum avem nevoie de rezultatul în celula B8, deci furnizați această referință de gamă utilizând obiectul RANGE.

Cod:

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

Acum puneți un punct și introduceți opțiunea „Căutare obiectiv”.

Primul argument este „Scopul” pentru aceasta. Trebuie să ne introducem obiectivul final pentru a ajunge în GAMA B8. În acest exemplu, încercăm să atingem obiectivul de 90.

Cod:

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

Următorul argument este „Schimbarea celulei” pentru aceasta, trebuie să furnizăm în ce celulă avem nevoie de noua valoare pentru a atinge obiectivul.

Cod:

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

În acest exemplu, celula noastră în schimbare este celula Sub 6, adică celula B7.

Ok, haideți să rulăm codul pentru a vedea ce trebuie făcut la subiectul final pentru a atinge procentul mediu global de 90.

Deci, la subiectul final, 95 trebuie să fie punctate pentru a obține media generală de 90.

Căutarea obiectivului VBA - Exemplul nr. 2

Am învățat cum să aplicăm GOAL SEEK pentru a găsi numărul necesar pentru atingerea obiectivului. Acum vom vedea câteva exemple avansate de găsire a scorului examenului final pentru mai mult de un student.

Mai jos sunt scorurile anticipate de 5 subiecte după examen.

Deoarece găsim obiectivul pentru mai mult de un student, trebuie să folosim bucle. Mai jos este codul pentru dvs.

Cod:

Sub Goal_Seek_Example2 () Dim k At 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

Acest cod va parcurge toate scorurile studenților și va obține scorul final al examenului necesar pentru a atinge media generală de 90.

Așa că am obținut rezultatul final acum,

Studentul A trebuie să înscrie doar 83 pentru a obține procentul global de 90, iar studentul D trebuie să înscrie 93.

Dar uitați-vă la Student B & C. Ei trebuie să înscrie 104 la examenul final, ceea ce nu este deloc posibil.

La fel, folosind analiza GOAL SEEK, putem găsi numărul necesar pentru a atinge numărul vizat la mijlocul proiectului sau procesului.

Lucruri de amintit

  • Goal Seek este disponibil atât cu instrumentele de foaie de lucru, cât și cu instrumentul VBA.
  • Celula rezultată trebuie să conțină întotdeauna o formulă.
  • Trebuie să introducem valoarea obiectivului și să schimbăm referința celulei la instrumentul de căutare a obiectivelor.

Articole interesante...