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

Målsøgning i Excel VBA

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

For eksempel er du studerende, og du har målrettet mod en gennemsnitlig score på 90% fra seks tilgængelige fag. Fra nu af har du gennemført 5 eksamener, og du har kun et emne 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 undersøgelse 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-målsøgning 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-objekt, senere kan vi få adgang til GOAL SEEK-indstillingen.

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 skal vi 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.

Du kan downloade denne VBA-målsøgende Excel-skabelon her - VBA-målsøge-Excel-skabelon

VBA-målsøgning - eksempel # 1

Lad os kun tage eksemplet med eksamensgennemsnit. 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-funktion i B8-celle.

I dette eksempel er vores mål 90, at ændre 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-objekt.

Kode:

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

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

Det første argument er “Mål” for dette, vi skal 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 

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 der scorer 95 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 studerende, skal vi bruge sløjfer, herunder er koden til dig.

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 kode vil løbe gennem 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 Student 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

  • Målsøgning er tilgængelig med både regnearkværktøj såvel som VBA-værktøj.
  • Resultatcelle skal altid indeholde en formel.
  • Vi er nødt til at indtaste målværdi og ændre cellehenvisning til målsøgningsværktøjet.