VBA Målsøk | Hvordan bruke målsøk for å finne verdi i Excel VBA?

Målsøk i Excel VBA

Goal Seek er verktøyet som er tilgjengelig i excel VBA, som hjelper oss å finne det nødvendige antallet som skal oppnås for å komme til det angitte målet.

For eksempel er du student, og du har målrettet en gjennomsnittlig poengsum på 90% fra seks tilgjengelige fag. Fra nå av har du fullført 5 eksamener og du har bare ett emne igjen, dine forventede poengsum fra fem fullførte emner er 89, 88, 91, 87, 89 og 90. Nå vil du vite hvor mye du trenger å score i den avsluttende eksamen for å oppnå det totale gjennomsnittlige prosentmålet på 90%.

Dette kan gjøres ved å bruke GOAL SEEK i Excel-regneark så vel som i VBA-koding. La oss se hvordan det fungerer med VBA.

VBA-målsyntaks

I VBA Goal Seek må vi spesifisere verdien vi endrer og komme til det endelige målrettede resultatet, så gi cellereferansen ved å bruke VBA RANGE-objekt, senere kan vi få tilgang til GOAL SEEK-alternativet.

Nedenfor er syntaksen for målsøk i VBA.

  • Område (): I dette må vi oppgi cellereferansen der vi trenger for å oppnå målverdien.
  • Mål: I dette argumentet må vi angi hva som er målet vi prøver å oppnå.
  • Endring av celle: I dette argumentet må vi levere ved å endre hvilken celleverdi vi trenger for å oppnå målet.

Eksempler på Excel VBA Goal Seek

Følgende er eksemplene på målsøk i Excel VBA.

Du kan laste ned denne VBA Goal Seek Excel-malen her - VBA Goal Seek Excel Template

VBA Goal Seek - Eksempel nr. 1

La oss ta eksemplet med eksamensgjennomsnitt bare. Nedenfor er forventet poengsum på 5 fag fra fullført eksamen.

Først må vi komme frem til hva som er gjennomsnittlig poengsum fra de fullførte 5 fagene. Bruk AVERAGE-funksjon i B8-celle.

I dette eksemplet er målet vårt 90, Changing Cell vil være B7 . Så målsøk vil hjelpe oss med å finne den målrettede poengsummen fra det endelige emnet for å oppnå det totale gjennomsnittet på 90.

Start delprosedyren i VBA-klassemodulen.

Kode:

 Sub Goal_Seek_Example1 () End Sub 

Nå trenger vi resultatet i B8-celle, så gi denne referanse for området ved å bruke RANGE-objekt.

Kode:

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

Sett nå en prikk og skriv inn "Målsøk" -alternativet.

Det første argumentet er "Mål" for dette, vi trenger å angi vårt endelige mål for å komme til RANGE B8. I dette eksemplet prøver vi å oppnå målet om 90.

Kode:

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

Neste argument er "Endring av celle" for dette vi trenger å levere i hvilken celle vi trenger den nye verdien for å nå målet.

Kode:

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

I dette eksemplet er vår skiftende celle Sub 6-celle, dvs. B7-celle.

Ok, la oss kjøre koden for å se hva som må gjøres i det siste emnet for å oppnå den totale gjennomsnittlige prosentandelen på 90.

Så i det siste emnet må 95 poengsummen være for å få det totale gjennomsnittet på 90.

VBA Goal Seek - Eksempel 2

Vi har lært hvordan vi bruker GOAL SEEK for å finne antallet som kreves for å nå målet. Nå vil vi se noen avanserte eksempler på å finne den endelige eksamenspoeng for mer enn en student.

Nedenfor er forventet score på 5 fag etter eksamen.

Siden vi finner målet for mer enn en student, trenger vi å bruke løkker, nedenfor er koden for deg.

Kode:

 Sub Goal_Seek_Example2 () Dim k As Long Dim ResultCell As Range Dim ChangingCell As Range Dim TargetScore As Ingerger 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 

Denne koden vil gå gjennom alle studentenes poeng og komme til den endelige eksamenspoengene som kreves for å oppnå det totale gjennomsnittet på 90.

Så vi fikk sluttresultatet nå som,

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.