Célkeresés a VBA-ban

A VBA célkitűzése az a folyamat, amellyel megcélozhatjuk azt a célt, amelyet elérni akarunk. Ez egy olyan folyamat, amely megmutatja, hogy mennyit kell tennünk a kitűzött cél eléréséhez. Tegyük fel, hogy a vonat érkezési ideje naponta 10:00. A vonat hétfőtől péntekig közlekedik A és B között. És figyelembe véve a vonat átlagos érkezési idejét A-ból B-hez, késedelem nélkül pontosan 10 óra. Tehát, ha a következők érkeznek erre a vonatra 10:16, 10:01, 9:57 és 10:04 között, egymást követő 4 napon, hétfőtől csütörtökig. A 10:00 átlagos időtartamának fenntartásához, amely az adott vonatra kitűzött cél, 9.45 órakor kell érkeznie, csupán a 10:00 átlagos érkezési idejének fenntartása érdekében. Ez még hidegebb is lehet, ha van valami automatizálni. Jön a VBA Goal Seek .

A célkeresés szintaxisa:

Az alábbiakban a VBA Goal Seek szintaxisa található.

Hol,

  • Range: A céltartomány cellája, amely tartalmazza az aktuális határértéket.
  • Cél : az a határ vagy cél, amelyet elérni akarunk.
  • Cella megváltoztatása: A cella, ahol látni fogjuk az elérni kívánt határértéket.

Hogyan lehet használni a Célkeresést az Excel VBA alkalmazásban?

Megtanuljuk, hogyan kell használni az Excel alkalmazásban a Célkeresést a VBA kód használatával.

Itt letöltheti ezt a VBA Célkeresési Excel sablont - VBA Célkeresési Excel sablon

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

Az átlagos pontosság, amelyet az alkalmazottaknak hetente meg kell tartaniuk a 95% -ot. Az alábbiakban a munkavállaló pontosságának adatai vannak hétfőtől csütörtökig, átlagos pontossággal 92, 25%, amelyet a C8 cellában említenek az alábbiak szerint.

Most, a Célkeresés szintaxisa szerint, van olyan Range cell, amelynek aktuális takarmányértéke és Target értéke van, amely az átlagos pontosság 90%, amelyet az alkalmazottnak el kell érnie.

Ebben a példában a munkavállaló munka pontosságának ellenőrzése. Ehhez kövesse az alábbi lépéseket:

1. lépés : Nyissa meg a modult az Insert menü lapon az alább látható módon.

2. lépés: Most írja be a VBA Goal Seek alfolyamatát az alábbiak szerint. Bármely nevet választhatunk ennek meghatározására.

Kód:

 Sub Goal_Seek () Befejezés Sub 

3. lépés: A szintaxis szerint a Range cellot választjuk ki, amely tartalmazza a betáplálandó aktuális átlagot. Itt az a C8.

Kód:

 Sub Goal_Seek () tartomány ("C8"). Befejezés Sub 

4. lépés: Most válassza ki a Célkeresés funkciót, és szintaxis szerint válassza ki az elérni kívánt célértéket. Itt a cél 90% -kal pontos.

Kód:

 Sub Goal_Seek () tartomány ("C8"). GoalSeek cél: = 90 End Sub 

5. lépés: Végül válassza ki a cella tartományát, ahol látnunk kell az elérni kívánt pontosságot. Itt a C6 a sejt, péntekre történő hivatkozással.

Kód:

 Sub Goal_Seek () tartomány ("C8"). GoalSeek cél: = 90, ChangingCell: = Range ("C6") End Sub 

6. lépés: Miután készen álltunk, összeállítjuk a kódot és futtatjuk azt. Látni fogjuk, hogy a C6 cella változó cellájának értéke 81-es. Ez azt jelenti, hogy ha az alkalmazott a pénteken akár 81% -os pontosságot is elér, akkor könnyen képes lesz elérni a 90% -os pontosságot.

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

Ebben a példában van egy olyan csapat alkalmazottjának fordulási ideje (TAT vagy a tevékenység befejezésének ideje), amely minden nap ugyanazt a feladatot végzi. 5 alkalmazott végez ugyanazt a tevékenységet hétfőtől péntekig. A tevékenység elvégzésének célideje 50 perc. És meg kell találnunk, hogy az alkalmazottak mennyi időt vegyenek igénybe ahhoz, hogy az átlagos teljesítési idő legfeljebb 50 perc legyen. Ehhez kövesse az alábbi lépéseket:

1. lépés: A modulban írja be a VBA célkeresés alfolyamatát az alábbiak szerint.

Kód:

 Sub Goal_Seek2 () Sub 

2. lépés: Adjon meg egy változót, amellyel számolhatunk, ahonnan kell elindítanunk a Célkeresést.

Kód:

 Sub Goal_Seek2 () Eltávolítani, mint hosszú vége Sub 

3. lépés: Most ismét definiáljon még 2 változót a DIM segítségével, tartománytípusgal . Az első az aktuális végső átlag nyomon követésére szolgál, a második pedig arra, hogy a referenciacellát összekapcsoljuk, ahol a kimenetet akarjuk.

Kód:

 Sub Goal_Seek2 () tompítani, amíg hosszú tompa FinalAvg, mint távolság tompítva referencia, mint tartomány végét 

4. lépés: Adjon meg egy másik változót egész számként az elérni kívánt cél beállításához.

Kód:

 Sub Goal_Seek2 () tompítani, amíg hosszú tompítva FinalAvg mint távolság tompított referencia mint távolság tompított cél mint egész szám vége al 

5. lépés: Itt a célunk 50 perc, tehát állítsa be a Target változót ezzel az értékkel.

Kód:

 Sub Goal_Seek2 () tompítani, amíg hosszú tompítva FinalAvg mint távolság tompított referencia, mint távolság tompított cél, mint egész cél = 50 

6. lépés: Nyissa meg a Következő hurkot az alább látható módon.

Kód:

 Sub Goal_Seek2 () tompítani, amíg hosszú tompa FinalAvg, mint távolság tompított referencia, mint távolság tompított cél, mint egész cél = 50 a következő alsó részhez 

7. lépés: Most válassza ki azon cellák tartományát, amelyek rendelkeznek az értékekkel. Itt ezek a sorok 3-tól 7-ig terjednek.

Kód:

 Sub Goal_Seek2 () tompítani, amíg hosszú tompítva FinalAvg, mint távolság tompított referencia, mint távolság tompított cél, mint egész cél = 50, ha A = 3–7 Következő A vég al 

8. lépés: Állítsa be a végső átlagot, ahonnan szeretnénk elérni. Itt az a cell a 9. sorban van.

Kód:

 Sub Goal_Seek2 () tompítani, amíg hosszú tompítva FinalAvg, mint távolság tompítva referencia, mint távolság tompított célt, mint egész cél = 50 A = 3-tól 7-ig Állítsa be a FinalAvg = cellákat (9, A) Következő A vége al 

9. lépés: Ehhez hasonlóan állítsa be a referenciacellák tartományát, ahol látni akarjuk a cél elérési értékét a cél elérése érdekében, és hogy a cellának a 7. sora van.

Kód:

 Sub Goal_Seek2 () tompítani, amíg hosszú tompítva FinalAvg, mint távolság tompított referencia, mint távolság tompított célt, mint egész cél = 50 A = 3-tól 7-ig Állítsa be a FinalAvg = cellákat (9, A) Állítsa be a referenciát = cellák (7, A) Következő A Alatti 

10. lépés: Végül alkalmazza a VBA célkeresést megfelelő szintaxissal, az alább látható módon.

Kód:

 Sub Goal_Seek2 () tompítani, amíg nem hallatszik FinalAvg, mint távolság tompított referencia, mint távolság tompított célt, mint egész cél = 50 A = 3-tól 7-ig Állítsa be a FinalAvg = cellákat (9, A) Állítsa be a referenciát = cellák (7, A) FinalAvg.GoalSeek Cél, referencia Következő A vég al 

11. lépés: Most fordítsa le a teljes kódot az F8 funkciógomb megnyomásával, és futtassa azután, ha nem található hiba.

Látni fogjuk, hogy a 7. sorban a Goal Seek segítségével percben megkapjuk az időt, amelyet minden alkalmazottnak pénteken el kell érnie, hogy megőrizze az 50 perc vagy annál alacsonyabb átlagot.

Így működik a VBA Goal Seek.

Az Excel VBA célkeresés előnyei

  • A VBA Goal Seek nagyon hasznos a teljesítmény nyomon követésében.
  • Ezt számos statisztikai munkában is felhasználhatjuk, ahol nyomon kell követnünk és meg kell céloznunk az elérni kívánt adatkorlátot.
  • Ez megmondja a pontos értéket, amelyet az embernek el kell érnie a cél eléréséhez.

Dolgok, amikre emlékezni kell

  • Ez az Excel és a VBA egyaránt használható.
  • Az átlagos vagy más függvényű eredménycellának mindig meg kell adnia a képletet.
  • A célértéket beírhatjuk a Célba a Célkeresés szintaxisába, vagy külön is meghatározhatjuk ezt korábban.
  • Megváltoztathatjuk és frissíthetjük a célértéket igényeink és követelményeink szerint.
  • Ezt a feladatot nem lehet elvégezni a fejlesztői lapon elérhető makrók beállításának rögzítésével.
  • Ha kész, ne felejtse el menteni az Excel fájlt makró engedélyezési formátumban, hogy megőrizze az írott kódot.

Ajánlott cikk

Ez egy útmutató a VBA Célkereséshez. Itt tárgyaljuk, hogyan lehet használni a Célkeresést az Excel VBA-ben, a gyakorlati példákkal és a letölthető Excel sablonnal együtt. Megnézheti más javasolt cikkeinket -

  1. VBA gyűjtemény (példák)
  2. VBA IF nyilatkozatok | Excel sablonok
  3. Hogyan kell használni az Excel VBA rendezési funkciót?
  4. VBA Míg a hurok (példák Excel sablonnal)
  5. VBA környezeti funkció

Kategória: