Eesmärk VBA-s

VBA eesmärk on protsess, mille abil saame sihtida eesmärki, mida tahame saavutada. See on protsess, mis näitab, kui palju peame seatud eesmärgi saavutamiseks tegema. Oletame, et rongi saabumisaeg on 10:00 päevas. Rong sõidab esmaspäevast reedeni punktide A ja B vahel. Arvestades, et rongi keskmine saabumisaeg punktist A punkti B on viivituseta täpselt kell 10:00. Nii et kui järgmised on selle rongi saabumisaeg 10:16 AM, 10:01 AM, 9:57 AM, 10:04 nelja järjestikuse päeva jooksul esmaspäevast neljapäevani. Ja selleks, et säilitada selle rongi jaoks seatud eesmärk keskmiselt kell 10:00, peab see jõudma kell 9.45, selleks et säilitada keskmiselt 10:00 saabumisaeg. See võib olla veelgi lahedam, kui meil on midagi automatiseerida. Seal tuleb VBA eesmärk .

Eesmärgi otsingu süntaks:

Allpool on VBA eesmärgi otsingu süntaks.

Kus,

  • Vahemik: sihtvahemiku lahter, mis sisaldab praegust limiiti.
  • Eesmärk : piir või eesmärk, mida tahame saavutada.
  • Lahtri muutmine: lahter, kus näeme saavutatavat piirmäära.

Kuidas kasutada eesmärgiotsingut Exceli VBA-s?

Õpime VBA koodi abil Excelis eesmärgiotsingut kasutama.

Selle VBA eesmärgi otsimise Exceli malli saate alla laadida siit - VBA eesmärgi otsimise Exceli mall

VBA eesmärk - näide nr 1

Keskmine täpsus, mida töötajad peaksid oma 95% -list nädalas säilitama. Allpool on toodud täpsusandmed töötaja kohta esmaspäevast neljapäevani keskmise täpsusega 92, 25%, mida mainitakse lahtris C8, nagu allpool näidatud.

Nüüd, vastavalt eesmärgi otsingu süntaksile, on meil vahemiku lahter, millel on praegune söödaväärtus ja sihtväärtus, mis on keskmine täpsus 90%, mille see töötaja peab saavutama.

Selles näites, kus töötaja töö täpsust jälgitakse. Selleks toimige järgmiselt.

1. samm : avage moodul vahekaardil Lisa menüüst, nagu allpool näidatud.

2. samm: kirjutage nüüd VBA eesmärgi otsingu alamprotseduur, nagu allpool näidatud. Selle määratlemiseks võime valida ükskõik millise nime.

Kood:

 Alam eesmärk_Seek () lõpp alam 

3. samm: süntaksi järgi valime lahtri Range, mis sisaldab praegust keskmist söödetavat väärtust. Siin on see lahter C8.

Kood:

 Alam-eesmärgi_järk () vahemik ("C8"). Lõpu alam 

4. samm: valige nüüd funktsioon Sihtotsing ja vastavalt süntaksile valige sihtväärtus, mida peame saavutama. Siin on see eesmärk 90% täpne.

Kood:

 Sub Goal_Seek () vahemik ("C8"). GoalSeek eesmärk: = 90 End Sub 

5. samm: nüüd lõpuks valige selle lahtri vahemik, kus peame nägema saavutatavat täpsust. Siin on see lahter C6, viidates rakule reedel.

Kood:

 Sub Goal_Seek () vahemik ("C8"). GoalSeek eesmärk: = 90, ChangingCell: = Range ("C6") End Sub 

6. samm: kui see on valmis, kompileerime selle koodi ja käivitame selle. Näeme, et lahtri C6 muutuva lahtri väärtus on 81. See tähendab, et kui sellel töötajal on reedel õnnestunud saavutada isegi 81% täpsus, siis on tal hõlpsasti võimalik saavutada täpsus 90%.

VBA eesmärk - näide nr 2

Selles näites on meil andmed iga meeskonna töötaja kohta, kes täidab iga päev sama ülesannet, ringi pöördeaja (TAT või tegevuse lõpetamise aeg) kohta. Esmaspäevast reedeni teevad sama tegevust 5 töötajat. Selle tegevuse lõpetamiseks on seatud eesmärk 50 minutit. Ja me peame leidma, kui palju aega peab iga töötaja võtma, et säilitada keskmine valmimisaeg 50 miini või vähem. Selleks toimige järgmiselt.

1. samm: kirjutage moodulis VBA eesmärgi otsingu alamprotseduur, nagu allpool näidatud.

Kood:

 Alam eesmärk_Seek2 () lõpp alam 

2. samm: määrake muutuja, mille abil saame arvestada, kust peame alustama eesmärgi otsingut nii kaua.

Kood:

 Alaeesmärk_Seek2 () Hämardage kui pikk lõpp 

3. samm: määratlege uuesti DIM-i abil andmetüübiga Range veel 2 muutujat . Esiteks kasutatakse praeguse lõpliku keskmise jälgimiseks ja teiseks kasutatakse viiteelemendi linkimiseks seda, kuhu me väljundit tahame.

Kood:

 Alaeesmärk_Seek2 () Hämardatakse nii kaua, kui hämardub FinalAvg kui vahemiku hämarus, kui vahemiku lõpp 

4. samm: määratlege teine ​​muutuja täisarvuna, et seada eesmärk, mida tahame saavutada.

Kood:

 Alaeesmärk_Seek2 () Hämardatakse nii kaua, kui hämardub FinalAvg kui vahemiku hämardamise võrdlus, vahemiku hämar sihtmärk, täisarv End Sub 

5. samm: siin on meie eesmärk 50 minutit, nii et määrake muutuja Target selle väärtusega.

Kood:

 Alaeesmärk_Seek2 () Hämardatakse nii kaua, kui minimaalselt FinalAvg kui vahemiku hämar, võrdlusvahemiku väikseima sihtmärgi, täisarvuna = 50 Lõpp-alam 

6. samm: avage Järgmine ahel, nagu allpool näidatud.

Kood:

 Alaeesmärk_Seek2 () Hämardatakse nii pikalt, kui minimaalselt FinalAvg, kui vahemiku hämar, võrdlusvahemiku hämar, täisarvuna = 50 järgmise lõpp-alamrühma jaoks 

7. samm. Valige nüüd nende lahtrite vahemik, millel on väärtused. Siin on need read 3–7 numbrit.

Kood:

 Alaeesmärk_Seek2 () Hämardatakse nii kaua, kui hämardatakse FinalAvg, kui vahemiku hämar, võrdlusvahemiku väikseimaks sihtmärgiks, täisarvuna = 50, kui A = 3 kuni 7 Järgmine A Lõpp 

8. samm: määrake lõplik keskmine, kust me tahame saada. Siin see lahter asub 9. reas.

Kood:

 Alaeesmärk_Seek2 () Hämardatakse nii kaua, kui hämardub FinalAvg kui vahemiku hämaruse võrdlus, kui vahemiku väikseim sihtarv, täisarvuna = 50 A = 3 kuni 7 seada FinalAvg = lahtrid (9, A) Järgmine A Lõpp 

9. samm: määrake samamoodi lahtri võrdlusvahemik, kus tahame näha eesmärgi saavutamiseks vajalikku väärtust eesmärgi saavutamiseks ja et lahtri rida on 7.

Kood:

 Alaeesmärk_Seek2 () Hämardatakse nii kaua, kui hämardub FinalAvg, kui vahemiku hämaruse võrdlus, kui vahemiku hämar, täisarvuna = 50 A = 3 kuni 7 seada FinalAvg = lahtrid (9, A) Määra viide = lahtrid (7, A) Järgmine lõpp Alam 

10. samm: viimaks rakendage VBA eesmärgiotsing õige süntaksiga, nagu allpool näidatud.

Kood:

 Alaeesmärk_Seek2 () Hämardatakse nii kaua, kui hämardub FinalAvg kui vahemiku hämaruse võrdlus, kui vahemiku hämar eesmärk, täisarvuna = 50 A = 3 kuni 7 seada FinalAvg = lahtrid (9, A) Määra viide = lahtrid (7, A) FinalAvg.GoalSeek Sihtmärk, viide Järgmine Lõpp-alam 

11. samm. Nüüd kompileerige täielik kood, vajutades funktsiooniklahvi F8, ja käivitage pärast seda, kui ühtegi viga ei leita.

Näeme, et 7. real saate eesmärgi otsimise abil aega minutitega, mille iga töötaja peab saavutama reedel, et hoida keskmiselt 50 minutit või alla selle.

Nii töötab VBA Goal Seek.

Excel VBA eesmärgi otsingu plussid

  • VBA Goal Seek on üsna kasulik tulemuse jälgimiseks mitmel viisil.
  • Seda saab kasutada ka paljudes statistikatöödes, kus peame jälgima ja suunama andmete piirmäära, mida soovime saavutada.
  • See näitab täpset väärtust, mida inimene peab eesmärgi saavutamiseks saavutama.

Asjad, mida meeles pidada

  • Seda saab kasutada nii Excelis kui ka VBA-s.
  • Keskmise või muu funktsiooniga tulemuslahtril peab alati olema valem.
  • Sihtväärtuse saame eesmärgi sisestada eesmärgi otsimise süntaksisse või saame selle ka varem eraldi määratleda.
  • Saame sihtväärtust vastavalt vajadustele muuta ja värskendada.
  • Seda ülesannet ei saa täita, salvestades arendaja vahekaardil saadaolevad makrod.
  • Kui see on tehtud, ärge unustage salvestada Exceli fail makrofunktsioonide vormingus, et säilitada kirjutatud kood.

Soovitatav artikkel

See on VBA eesmärgiotsingu juhend. Siin arutleme, kuidas kasutada programmi Excel VBA eesmärgiotsingut koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA kollektsioon (näited)
  2. VBA IF-avaldused | Exceli mallid
  3. Kuidas kasutada Exceli VBA sortimisfunktsiooni?
  4. VBA Kuigi silmus (näited Exceli malliga)
  5. VBA keskkonnafunktsioon

Kategooria: