VBA-målsøgning - Hvordan bruges målsøgning til at finde værdi i Excel VBA?

Indholdsfortegnelse

Målsøgning i Excel VBA

Målsøgning er det tilgængelige værktøj i excel VBA, som hjælper os med at finde det krævede antal, der skal nås for at komme til det indstillede mål.

For eksempel er du studerende, og du har målrettet mod en gennemsnitlig score på 90% fra seks tilgængelige emner. Fra nu af har du gennemført 5 eksamener, og du har kun ét fag tilbage. Dine forventede point fra fem afsluttede emner er 89, 88, 91, 87, 89 og 90. Nu vil du vide, hvor meget du skal score i den afsluttende eksamen for at nå det samlede gennemsnitlige procentmål på 90%.

Dette kan gøres ved at bruge GOAL SEEK i Excel-regneark såvel som i VBA-kodning. Lad os se, hvordan det fungerer med VBA.

VBA-målsøgningssyntaks

I VBA Goal Seek skal vi specificere den værdi, vi ændrer, og nå frem til det endelige målrettede resultat, så angiv cellereferencen ved hjælp af VBA RANGE-objektet. Senere kan vi få adgang til indstillingen GOAL SEEK.

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

  • Område (): I dette skal vi levere cellereferencen, hvor vi har brug for at opnå den målrettede værdi.
  • Mål: I dette argument er vi nødt til at indtaste, hvad er det mål, vi prøver at nå.
  • Ændring af celle: I dette argument er vi nødt til at levere ved at ændre, hvilken celleværdi vi har brug for for at nå målet.

Eksempler på Excel VBA-målsøgning

Følgende er eksempler på målsøgning i Excel VBA.

VBA-målsøgning - eksempel # 1

Lad os tage eksemplet med en gennemsnitlig eksamensscore. Nedenfor er den forventede score på 5 emner fra den afsluttede eksamen.

Først skal vi nå frem til, hvad der er den gennemsnitlige score fra de færdige 5 fag. Anvend AVERAGE-funktionen i B8-cellen.

I dette eksempel er vores mål 90, og ændring af celle vil være B7 . Så målsøgning hjælper os med at finde den målrettede score fra det endelige emne for at opnå det samlede gennemsnit på 90.

Start delproceduren i VBA-klassemodulet.

Kode:

Sub Goal_Seek_Example1 () Afslut Sub

Nu har vi brug for resultatet i B8-celle, så angiv denne rækkevidde ved hjælp af RANGE-objektet.

Kode:

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

Sæt nu en prik, og indtast muligheden "Målsøgning".

Det første argument er “Mål” for dette. Vi er nødt til at indtaste vores endelige mål for at ankomme til RANGE B8. I dette eksempel forsøger vi at nå målet på 90.

Kode:

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

Det næste argument er "Ændring af celle" for dette, vi skal levere i hvilken celle vi har brug for den nye værdi for at nå målet.

Kode:

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

I dette eksempel er vores skiftende celle Sub 6-celle, dvs. B7-celle.

Ok, lad os køre koden for at se, hvad der skal gøres i det sidste emne for at opnå den samlede gennemsnitlige procentdel på 90.

Så i det sidste emne skal 95 scorer for at få det samlede gennemsnit på 90.

VBA-målsøgning - eksempel # 2

Vi har lært, hvordan man anvender GOAL SEEK for at finde det antal, der kræves for at nå målet. Nu vil vi se nogle avancerede eksempler på at finde den endelige eksamensscore for mere end en studerende.

Nedenfor er de forventede score på 5 emner efter eksamen.

Da vi finder målet for mere end en elev, er vi nødt til at bruge sløjfer. Nedenfor er koden til dig.

Kode:

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

Denne kode vil løbe igennem alle de studerendes score og nå den endelige eksamensscore, der kræves for at opnå det samlede gennemsnit på 90.

Så vi fik slutresultatet nu som,

Studerende A skal kun score 83 for at sikre den samlede 90 procent, og elev D skal score 93.

Men se på Student B & C. De har brug for at score 104 hver i den afsluttende eksamen, hvilket slet ikke er muligt.

Som dette ved hjælp af GOAL SEEK-analyse kan vi finde det nødvendige antal for at nå det målrettede antal midt igennem projektet eller processen.

Ting at huske

  • Goal Seek er tilgængelig med både regnearkværktøjer såvel som VBA-værktøjet.
  • Den resulterende celle skal altid indeholde en formel.
  • Vi skal indtaste målværdien og ændre cellehenvisningen til målsøgningsværktøjet.

Interessante artikler...