Paghahanap sa Layunin ng VBA | Paano Gumamit ng Paghahanap sa Layunin upang Makahanap ng Halaga sa Excel VBA?

Paghahanap sa Layunin sa Excel VBA

Ang Paghahanap sa Layunin ay ang tool na magagamit sa excel VBA na makakatulong sa amin upang mahanap ang kinakailangang numero upang makamit upang makarating sa itinakdang target.

Halimbawa, ikaw ay isang mag-aaral at naka-target ka ng isang average na marka ng 90% mula sa anim na magagamit na mga paksa. Sa ngayon nakumpleto mo na ang 5 mga pagsusulit at naiwan ka lamang sa isang paksa, ang iyong inaasahang mga marka mula sa limang nakumpletong mga paksa ay 89, 88, 91, 87, 89, at 90. Ngayon nais mong malaman kung magkano ang kailangan mong puntos sa ang pangwakas na pagsusuri upang makamit ang pangkalahatang average na target na porsyento ng 90%.

Maaari itong magawa sa pamamagitan ng paggamit ng GOAL SEEK sa excel worksheet pati na rin sa VBA coding. Tingnan natin kung paano ito gumagana sa VBA.

VBA Goal Seek Syntax

Sa VBA Goal Seek kailangan naming tukuyin ang halagang binabago namin at nakarating sa huling target na resulta, kaya ibigay ang sanggunian ng cell sa pamamagitan ng paggamit ng VBA RANGE object, sa paglaon maaari naming ma-access ang opsyong GOAL SEEK.

Nasa ibaba ang syntax ng paghahanap ng layunin sa VBA.

  • Saklaw (): Sa ito, kailangan naming ibigay ang sanggunian ng cell kung saan kailangan namin upang makamit ang naka-target na halaga.
  • Layunin: Sa argumentong ito, kailangan nating ipasok kung ano ang layunin na sinusubukan nating makamit.
  • Pagbabago ng Cell: Sa argumentong ito, kailangan nating magbigay sa pamamagitan ng pagbabago ng aling halaga ng cell ang kailangan namin upang makamit ang layunin.

Mga halimbawa ng Excel VBA Goal Seek

Ang mga sumusunod ay ang mga halimbawa ng hangarin sa layunin sa Excel VBA.

Maaari mong i-download ang VBA Goal Seek Excel Template na ito dito - VBA Goal Seek Excel Template

Paghahanap sa Layunin ng VBA - Halimbawa # 1

Gawin nating halimbawa ang average na iskor sa pagsusuri lamang. Nasa ibaba ang inaasahang marka ng 5 mga paksa mula sa natapos na pagsusulit.

Una, kailangan nating makarating sa kung ano ang average na iskor mula sa nakumpletong 5 mga paksa. Ilapat ang pagpapaandar ng AVERAGE sa B8 cell.

Sa halimbawang ito ang aming Layunin ay 90, ang Changing Cell ay magiging B7. Kaya makakatulong sa amin ang Paghahanap sa Layunin upang mahanap ang naka-target na iskor mula sa pangwakas na paksa upang makamit ang pangkalahatang average ng 90.

Simulan ang subprocedure sa module ng klase ng VBA.

Code:

 Sub Goal_Seek_Example1 () Tapusin ang Sub 

Ngayon kailangan namin ang resulta sa B8 cell, kaya't ibigay ang sanggunian ng saklaw na ito sa pamamagitan ng paggamit ng RANGE object.

Code:

 Sub Goal_Seek_Example1 () Saklaw ("B8") Katapusan Sub 

Ngayon maglagay ng isang tuldok at ipasok ang pagpipiliang "Maghanap ng Layunin".

Ang unang argumento ay "Layunin" para dito kailangan nating ipasok ang aming layunin sa pagtatapos upang makarating sa RANGE B8. Sa halimbawang ito, sinusubukan naming makamit ang target na 90.

Code:

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

Susunod na argumento ay "Pagbabago ng Cell" para dito kailangan naming ibigay kung aling cell ang kailangan namin ng bagong halaga upang makamit ang Layunin

Code:

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

Sa halimbawang ito, ang aming nagbabagong cell ay Sub 6 cell ie B7 cell.

Ok, patakbuhin natin ang code upang makita kung ano ang kailangang gawin sa huling paksa upang makamit ang pangkalahatang average na porsyento ng 90.

Kaya, sa huling paksa ng 95 ay dapat na nakapuntos upang makuha ang pangkalahatang average ng 90.

Paghahanap sa Layunin ng VBA - Halimbawa # 2

Nalaman namin kung paano mag-apply ng GOAL SEEK upang makita ang bilang na kinakailangan upang makamit ang layunin. Ngayon makikita namin ang ilang advanced na halimbawa ng paghahanap ng huling marka ng pagsusuri para sa higit sa isang mag-aaral.

Nasa ibaba ang inaasahang mga marka ng 5 mga paksa pagkatapos ng pagsusulit.

Dahil hinahanap namin ang layunin para sa higit sa isang mag-aaral na kailangan naming gumamit ng mga loop, sa ibaba ay ang code para sa iyo.

Code:

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

Ang code na ito ay tatakbo sa lahat ng mga marka ng mag-aaral at makarating sa huling marka ng pagsusuri na kinakailangan upang makamit ang pangkalahatang average ng 90.

Nakuha namin ang huling resulta ngayon bilang,

Ang mag-aaral A ay kailangang puntos lamang 83 upang ma-secure ang pangkalahatang 90 porsyento at ang Mag-aaral D ay kailangang puntos 93.

Ngunit tingnan ang Student B & C kailangan nilang puntos ang 104 bawat isa sa pangwakas na pagsusuri na kung saan ay hindi posible.

Tulad nito gamit ang pag-aaral ng GOAL SEEK maaari naming mahanap ang kinakailangang numero upang makamit ang naka-target na numero sa kalagitnaan ng proyekto o proseso.

Bagay na dapat alalahanin

  • Magagamit ang Paghahanap sa Layunin na may parehong tool sa worksheet pati na rin ang tool ng VBA.
  • Ang cell ng resulta ay dapat palaging naglalaman ng isang formula.
  • Kailangan naming ipasok ang halaga ng layunin at pagbabago ng sanggunian ng cell sa tool na maghanap ng layunin.