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

Innholdsfortegnelse

Målsøk i Excel VBA

Goal Seek er verktøyet som er tilgjengelig i excel VBA, som hjelper oss med å 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. Per nå har du fullført 5 eksamener, og du sitter igjen med bare ett emne. Dine forventede poeng fra fem fullførte fag 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å oppgi cellereferansen ved å bruke VBA RANGE-objektet. 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.

VBA Goal Seek - Eksempel nr. 1

La oss ta eksemplet med en gjennomsnittlig eksamenspoeng 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-funksjonen i B8-cellen.

I dette eksemplet er målet vårt 90, og endring av celle 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 rekkeviddehenvisningen ved å bruke RANGE-objektet.

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 må angi vårt endelige mål for å ankomme 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

Det neste argumentet er "Endring av celle" for dette, vi må 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 scorer 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 eksamenspoengsummen for mer enn en student.

Nedenfor er forventet score på 5 fag etter eksamen.

Siden vi finner målet for mer enn en student, må 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 trenger å score bare 83 for å sikre den samlede 90 prosent, og Student D må score 93.

Men se på student B & C. De trenger å score 104 hver i den avsluttende eksamen, noe som ikke er mulig i det hele tatt.

Som dette ved å bruke GOAL SEEK-analyse, kan vi finne det nødvendige antallet for å oppnå det målrettet antallet midt gjennom prosjektet eller prosessen.

Ting å huske

  • Goal Seek er tilgjengelig med begge regnearkverktøyene samt VBA-verktøyet.
  • Den resulterende cellen skal alltid inneholde en formel.
  • Vi må angi målverdien og endre cellehenvisningen til målsøkingsverktøyet.

Interessante artikler...