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ą.

Pvz., Esate studentas ir siekėte vidutinio 90% balo iš šešių galimų dalykų. Šiuo metu 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 per paskutinį egzaminą, kad pasiektumėte bendrą vidutinį procentinį tikslą 90%.

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

VBA tikslų ieškojimo sintaksė

VBA tikslo paieškoje turime nurodyti vertę, kurią keičiame, ir pasiekti galutinį tikslinį rezultatą, todėl pateikite langelio nuorodą naudodami objektą VBA RANGE. Vėliau galime pasiekti GOAL SEEK variantą.

Ž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 „Excel VBA“ tikslų siekimo pavyzdžiai.

VBA tikslų siekimas - 1 pavyzdys

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

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

Šiame pavyzdyje mūsų tikslas yra 90, o langelio keitimas 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 antrinis

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į „Tikslo ieškoti“.

Pirmasis argumentas yra „tikslas“. Turime įvesti savo galutinį tikslą, kad pasiektume B8 diapazoną. Šiame pavyzdyje bandome pasiekti tikslą 90.

Kodas:

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

Kitas argumentas yra „Keisti langelį“, todėl mes 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 6 subląstelė, ty B7 ląstelė.

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

Taigi paskutiniame dalyke reikia surinkti 95, kad gautumėte bendrą 90 vidurkį.

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 gavome galutinį rezultatą,

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

Bet pažvelk į studentų B & C. Jie turi surinkti po 104 po paskutinį egzaminą, o tai visiškai neįmanoma.

Panašiai kaip 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 naudojant abu darbalapio įrankius ir VBA įrankį.
  • Gautoje langelyje visada turėtų būti formulė.
  • Turime įvesti tikslo vertę ir pakeisti langelio nuorodą į tikslo paieškos įrankį.

Įdomios straipsniai...