VBA célkeresés | Hogyan használható a célkeresés az érték megtalálásához az Excel VBA-ban?

Célkeresés az Excel VBA-ban

A Goal Seek az Excel VBA-ban elérhető eszköz, amely segít megtalálni az elérni kívánt számot a kitűzött cél eléréséhez.

Például diák vagy, és hat elérhető tantárgyból átlagosan 90% -os pontszámot vettél célba. Jelenleg 5 vizsgát tett le, és csak egy tantárgy maradt, öt befejezett tantárgy várható pontszáma 89, 88, 91, 87, 89 és 90. Most tudni szeretné, mennyit kell megszereznie a záróvizsga a 90% -os átlagos átlagos százalékos cél elérése érdekében.

Ezt megtehetjük a GOAL SEEK használatával az excel munkalapon, valamint a VBA kódolásban. Lássuk, hogyan működik a VBA-val.

VBA célkeresési szintaxisa

A VBA Goal Seek-ben meg kell adnunk a megváltoztatott értéket, és el kell érnünk a végső célzott eredményt, ezért adja meg a cella referenciát a VBA RANGE objektum használatával, később hozzáférhetünk a GOAL SEEK opcióhoz.

Az alábbiakban látható a célkeresés szintaxisa a VBA-ban.

  • Tartomány (): Ebben meg kell adnunk a cella referenciát, ahol el kell érnünk a megcélzott értéket.
  • Cél: Ebben az érvben meg kell adnunk, mi az a cél, amelyet megpróbálunk elérni.
  • Cellaváltás: Ebben az érvben annyit kell szolgáltatnunk, hogy megváltoztatjuk a cél eléréséhez szükséges cellasejteket.

Példák az Excel VBA célkeresésre

Az alábbiakban bemutatjuk a célkeresés példáit az Excel VBA-ban.

A VBA Goal Seek Excel sablont innen töltheti le - VBA Goal Seek Excel sablont

VBA célkeresés - 1. példa

Vegyük csak a vizsgaátlag átlagát. Az alábbiakban az elvégzett vizsga 5 tantárgy várható pontszáma látható.

Először azt kell elérnünk, hogy mekkora az átlagos pontszám az elkészült 5 tárgyból. Átlagos függvény alkalmazása a B8 cellában.

Ebben a példában a célunk 90, a változó cella B7 lesz . Tehát a Célkeresés segít megtalálni a célpontszámot a végső alanyból, hogy elérjük a 90-es átlagot.

Indítsa el az alfolyamatot a VBA osztály modulban.

Kód:

 Sub Goal_Seek_Példa1 () End Sub 

Most szükségünk van az eredményre a B8 cellában, ezért adja meg ezt a tartomány referenciát a RANGE objektum használatával.

Kód:

 Alcél_Szek_Példa1 () Tartomány ("B8") Vége Al 

Most tegyen egy pontot, és írja be a „Célkeresés” opciót.

Az első érv a „Cél”, ehhez meg kell adnunk a végcélunkat, hogy a B8-as tartományba érjünk. Ebben a példában megpróbáljuk elérni a 90-es célt.

Kód:

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

A következő érv a „Változó cella”, ehhez meg kell adnunk, hogy melyik cellában van szükségünk az új értékre a Cél eléréséhez .

Kód:

 Sub Goal_Seek_Example1 () Tartomány ("B8"). GoalSeek Goal: = 90, ChangingCell: = Range ("B7") Vége Sub 

Ebben a példában a változó cellánk Sub 6 sejt, azaz B7 sejt.

Ok, futtassuk a kódot, hogy megnézzük, mit kell tennünk a végső tárgyban, hogy elérjük a 90-es átlagos százalékos arányt.

Tehát a végső tantárgyban 95-öt kell pontozni, hogy a 90-es átlagot kapjuk.

VBA célkeresés - 2. példa

Megtanultuk a CÉLKEREK alkalmazását a cél eléréséhez szükséges szám megtalálásához. Most egy haladó példát fogunk látni arra, hogy egynél több hallgató számára megtalálható a záróvizsga pontszáma.

Az alábbiakban 5 vizsga után várt pontszámok láthatók.

Mivel egynél több hallgató számára találjuk meg a célt, hurokokat kell használnunk, az alábbiakban az Ön kódja található.

Kód:

 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-5 Set ResultCell = Cells (8, k) Set ChangingCell = Cells (7, k) ResultCell.GoalSeek TargetScore, ChangingCell Következő k End Sub 

Ez a kód végigvonul a hallgatók összes pontszámán, és eléri a 90-es átlag eléréséhez szükséges záróvizsga-pontszámot.

Tehát most megkaptuk a végeredményt,

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.