VBA tikslų siekimas | Kaip pasinaudoti tikslo paieška, norint rasti vertę „Excel VBA“?

Tikslo ieškokite „Excel VBA“

Tikslo ieškojimas yra „Excel VBA“ įrankis, kuris padeda mums rasti reikiamą skaičių, kad pasiektume užsibrėžtą tikslą.

Pavyzdžiui, esate studentas ir siekėte vidutinio 90% balo iš šešių galimų dalykų. Šiuo metu jūs baigėte 5 egzaminus ir jums liko tik vienas dalykas, jūsų numatomi penkių baigtų dalykų balai yra 89, 88, 91, 87, 89 ir 90. Dabar norite sužinoti, kiek jums reikia surinkti baigiamasis egzaminas, norint pasiekti bendrą vidutinį procentinį tikslą - 90 proc.

Tai galima padaryti naudojant „GOAL SEEK“ „Excel“ darbalapyje, taip pat naudojant VBA kodavimą. Pažiūrėkime, kaip tai veikia su VBA.

VBA tikslų ieškojimo sintaksė

„VBA Goal Seek“ turime nurodyti vertę, kurią keičiame, ir pasiekti galutinį tikslinį rezultatą, todėl pateikite langelio nuorodą naudodami objektą VBA RANGE, vėliau galėsime pasiekti GOAL SEEK parinktį.

Žemiau pateikiama tikslų siekimo VBA sintakse.

  • Diapazonas (): Šiuo atveju mes turime pateikti langelio nuorodą ten, kur turime pasiekti tikslinę vertę.
  • Tikslas: Šiame argumente turime įvesti tikslą, kurį bandome pasiekti.
  • Ląstelės keitimas: Šiame argumente turime pateikti, keisdami, kurios ląstelės vertės turime pasiekti tikslą.

„Excel VBA Goal Seek“ pavyzdžiai

Toliau pateikiami tikslų „Excel VBA“ pavyzdžiai.

Šį „VBA Goal Seek“ šabloną galite atsisiųsti čia - „VBA Goal Seek“ šabloną

VBA tikslų siekimas - 1 pavyzdys

Paimkime tik egzaminų vidutinio balo pavyzdį. Žemiau pateikiamas numatomas 5 dalykų iš baigto egzamino rezultatas.

Pirmiausia turime gauti vidutinį balą iš 5 baigtų dalykų. Taikyti AVERAGE funkciją B8 langelyje.

Šiame pavyzdyje mūsų tikslas yra 90, keitimo langelis bus B7 . Taigi tikslų siekimas padės mums rasti tikslinį galutinio dalyko rezultatą, kad pasiektume bendrą 90 vidurkį.

Pradėkite antrinę procedūrą VBA klasės modulyje.

Kodas:

 Antrasis tikslas_sekio_pavyzdys1 () Pabaigos potikslis 

Dabar mums reikia rezultato B8 langelyje, todėl pateikite šią diapazono nuorodą naudodami objektą RANGE.

Kodas:

 Antrasis tikslo_siekio_pavyzdys1 () diapazonas ("B8") Pabaigos antrinis 

Dabar įdėkite tašką ir įveskite parinktį „Tikslas“.

Pirmasis argumentas yra „Tikslas“. Tam turime įvesti savo galutinį tikslą, kad pasiektume B8 diapazoną. Šiame pavyzdyje mes bandome pasiekti tikslą 90.

Kodas:

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

Kitas argumentas yra „Keisti langelį“, kurį turime pateikti, kurioje ląstelėje mums reikia naujos vertės, kad pasiektume tikslą.

Kodas:

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

Šiame pavyzdyje mūsų kintanti ląstelė yra Sub 6 langelis, ty B7 langelis.

Gerai, paleiskime kodą, kad sužinotume, ką reikia padaryti paskutiniame dalyke, kad pasiektume bendrą 90 procentų procentą.

Taigi, norint gauti bendrą 90 vidurkį, paskutiniame dalyke reikia surinkti 95 balus.

VBA tikslų siekimas - 2 pavyzdys

Sužinojome, kaip pritaikyti TIKSLO SEEK, kad surastume skaičių, reikalingą tikslui pasiekti. Dabar pamatysime keletą pažangių pavyzdžių, kaip rasti galutinio egzamino balą daugiau nei vienam studentui.

Žemiau pateikiami numatomi 5 dalykų rezultatai po egzamino.

Kadangi tikslą randame daugiau nei vienam studentui, turime naudoti kilpas, žemiau yra jūsų kodas.

Kodas:

 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 pabaiga Sub 

Šis kodas apžvelgs visus studentų balus ir gaus galutinio egzamino balus, reikalingus bendram 90 vidurkiui pasiekti.

Taigi dabar mes gavome galutinį rezultatą,

Studentas A turi surinkti tik 83 balus, kad užtikrintų bendrą 90 procentų, o studentas D - 93 balus.

Bet pažvelk į studentų nakvynės namus, kur jie turi surinkti po 104 taškus per galutinį egzaminą, o tai visiškai neįmanoma.

Panašiai naudojant GOAL SEEK analizę, mes galime rasti reikiamą skaičių, kad pasiektume tikslinį skaičių per projektą ar procesą.

Ką reikia atsiminti

  • Tikslo ieškojimas galimas tiek su darbalapio, tiek su VBA įrankiu.
  • Rezultato langelyje visada turėtų būti formulė.
  • Turime įvesti tikslo vertę ir pakeisti langelio nuorodą į tikslo paieškos įrankį.

$config[zx-auto] not found$config[zx-overlay] not found