VBA Hedef Arayışı | Excel VBA'da Değer Bulmak İçin Hedef Arama Nasıl Kullanılır?

Excel VBA'da Hedef Arama

Hedef Arama, belirlenen hedefe ulaşmak için ulaşılması gereken sayıyı bulmamıza yardımcı olan excel VBA'da bulunan araçtır.

Örneğin, bir öğrencisiniz ve mevcut altı dersten ortalama% 90 puan hedeflediniz. Şu an itibariyle 5 sınavı tamamladınız ve yalnızca bir konuyla kaldınız, tamamlanan beş konudan beklenen puanlarınız 89, 88, 91, 87, 89 ve 90. Şimdi ne kadar puan almanız gerektiğini bilmek istiyorsunuz. % 90 genel ortalama yüzde hedefine ulaşmak için final sınavı.

Bu, VBA kodlamasının yanı sıra excel çalışma sayfasındaki GOAL SEEK kullanılarak yapılabilir. VBA ile nasıl çalıştığını görelim.

VBA Hedef Arama Sözdizimi

VBA Goal Seek'te değiştirdiğimiz değeri belirtmemiz ve nihai hedeflenen sonuca ulaşmamız gerekir, bu nedenle VBA RANGE nesnesini kullanarak hücre referansını sağlayın, daha sonra GOAL SEEK seçeneğine erişebiliriz.

VBA'da hedef arama sözdizimi aşağıdadır.

  • Range (): Bunda, hedeflenen değere ulaşmamız gereken yerde hücre referansını sağlamamız gerekir.
  • Hedef: Bu argümanda, ulaşmaya çalıştığımız hedefin ne olduğunu girmemiz gerekiyor.
  • Hücreyi Değiştirmek: Bu argümanda, hedefe ulaşmak için ihtiyacımız olan hücre değerini değiştirerek tedarik etmemiz gerekiyor.

Excel VBA Hedef Arama Örnekleri

Aşağıda, Excel VBA'da hedef arama örnekleri verilmiştir.

Bu VBA Hedef Arama Excel Şablonunu buradan indirebilirsiniz - VBA Hedef Arama Excel Şablonu

VBA Hedef Araması - Örnek 1

Yalnızca sınav ortalama puanı örneğini ele alalım. Aşağıda, tamamlanan sınavdan beklenen 5 konunun puanı verilmiştir.

İlk olarak, tamamlanmış 5 konunun ortalama puanının ne olduğuna ulaşmamız gerekiyor. B8 hücresinde ORTALAMA işlevini uygulayın.

Bu örnekte Hedefimiz 90, Değişen Hücre B7 olacaktır . Dolayısıyla, Goal Seek, 90 genel ortalamaya ulaşmak için nihai konudan hedeflenen puanı bulmamıza yardımcı olacaktır.

VBA sınıf modülünde alt prosedürü başlatın.

Kod:

 Alt Hedef_Ek_Örnek1 () Son Alt 

Şimdi sonuca B8 hücresinde ihtiyacımız var, bu nedenle bu aralık referansını RANGE nesnesini kullanarak sağlayın.

Kod:

 Alt Hedef_Ek_Örnek1 () Aralık ("B8") Son Alt 

Şimdi bir nokta koyun ve "Hedef Arama" seçeneğine girin.

İlk argüman, bunun için "Hedef" dir, B8 ARALIĞINA varmak için nihai hedefimize girmemiz gerekir. Bu örnekte 90 hedefine ulaşmaya çalışıyoruz.

Kod:

 Alt Hedef_Sek_Örnek1 () Aralık ("B8"). GoalSeek Hedefi: = 90 End Sub 

Sonraki argüman, bunun için "Hücreyi Değiştirmek" dir, bunun için Hedefe ulaşmak için yeni değere ihtiyacımız olan hücreyi sağlamamız gerekir .

Kod:

 Alt Hedef_Sek_Örnek1 () Aralık ("B8"). GoalSeek Hedef: = 90, ChangingCell: = Aralık ("B7") Son Alt 

Bu örnekte değişen hücremiz Alt 6 hücresi yani B7 hücresidir.

Tamam, genel ortalama yüzde 90'ı elde etmek için son konuda ne yapılması gerektiğini görmek için kodu çalıştıralım.

Yani, son konuda, 90 genel ortalamayı almak için 95 puanlanmalıdır.

VBA Hedef Araması - Örnek 2

Hedefe ulaşmak için gerekli sayıyı bulmak için GOAL SEEK'i nasıl uygulayacağımızı öğrendik. Şimdi birden fazla öğrencinin final sınav puanını bulmanın gelişmiş bir örneğini göreceğiz.

Sınavdan sonra 5 konunun beklenen puanları aşağıdadır.

Birden fazla öğrenci için hedef bulduğumuzdan, döngüler kullanmamız gerektiğinden, kod sizin için aşağıdadır.

Kod:

 Alt Hedef_Sek_Örnek2 () Dim k Aralık Olarak Uzun Dim ResultCell Dim Değişen Hücre Aralık Olarak Dim Hedef Puan Tam Sayı Hedef Puan = 90 k = 2 ila 5 için Sonuç Hücresi Ayarla = Hücreler (8, k) Değiştirme Hücresini Ayarla = Hücreler (7, k) SonuçHücresi. TargetScore, ChangingCell Next k End Sub 

Bu kod, tüm öğrencilerin puanlarını gözden geçirecek ve genel ortalama 90'a ulaşmak için gereken final sınav puanına ulaşacaktır.

Son sonucu şimdi şu şekilde aldık:

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.