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 bir araçtır.

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

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 belirlememiz ve nihai hedeflenen sonuca ulaşmamız gerekir, bu nedenle hücre referansını VBA RANGE nesnesini kullanarak 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.

VBA Hedef Araması - Örnek 1

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

İlk olarak, tamamlanan 5 konunun ortalama puanına ulaşmamız gerekiyor. B8 hücresinde ORTALAMA işlevini uygulayın.

Bu örnekte Hedefimiz 90 ve 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 "Amaç" dır. B8 ARALIĞINA varmak için nihai hedefimizi girmemiz gerekiyor. Bu örnekte 90 hedefine ulaşmaya çalışıyoruz.

Kod:

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

Bir sonraki argüman bunun için "Hücreyi Değiştirmek" dir, 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 Hedefi: = 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 bazı gelişmiş örneklerini göreceğiz.

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

Birden fazla öğrenci için hedef bulduğumuz için döngüler kullanmamız gerekiyor. Aşağıda sizin için kod var.

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:

Öğrenci A'nın toplam 90 yüzdeyi güvence altına almak için sadece 83 puan alması ve Öğrenci D'nin 93 puan alması gerekir.

Ancak Öğrenci B & C'ye bakın. Final sınavında 104 puan almaları gerekiyor, ki bu hiç de mümkün değil.

Bunun gibi HEDEF ARAMA analizini kullanarak, proje veya sürecin ortasında hedeflenen sayıya ulaşmak için gerekli sayıyı bulabiliriz.

Hatırlanacak şeyler

  • Hedef Arama, hem çalışma sayfası araçlarıyla hem de VBA aracıyla kullanılabilir.
  • Ortaya çıkan hücre her zaman bir formül içermelidir.
  • Hedef değerini girmemiz ve hücre referansını hedef arama aracına değiştirmemiz gerekir.

Ilginç makaleler...