VBA Çözücü

Bu öğretici, VBA'da Çözücü eklentisinin nasıl kullanılacağını gösterecektir.

Çözücü, Excel ile birlikte sağlanan bir eklentidir ve çalışma kitabınızdaki diğer hücrelerden formüle iletebileceğiniz değerlere dayalı olarak bir hücredeki formüle alternatif yanıtlar sağlayarak "eğer" analizi yapmak için kullanılır.

Excel'de Çözücü Eklentisini Etkinleştirme

seçin Dosya Excel şeridinde ve ardından aşağı Seçenekler.

Seçme Eklentiler ve üzerine tıklayın Gitmek Excel Eklentileri'nin yanındaki düğme.

Emin ol Çözücü Eklentisi seçeneği seçilir.

Alternatif olarak, üzerine tıklayın Excel Eklentileri üzerinde geliştirici Eklentiler iletişim kutusunu almak için şerit.

VBA'da Çözücü Eklentisini Etkinleştirme

Excel'de Çözücü Eklentisini etkinleştirdikten sonra, VBA'da kullanmak için VBA Projenize bir başvuru eklemeniz gerekir.

Çözücüyü kullanmak istediğiniz VBA Projesinde tıkladığınızdan emin olun. Tıkla Araçlar menüsü ve sonra Referanslar.

Bir referans Çözücü Eklentisi projenize eklenecektir.

Artık Çözücü Eklentisini VBA kodunda kullanabilirsiniz!

VBA'da Çözücü İşlevlerini Kullanma

VBA'da Çözücü kullanmak için 3 Çözücü VBA işlevini kullanmamız gerekiyor. Bunlar ÇözücüTamam, ÇözücüAdd, ve ÇözücüÇöz.

ÇözücüTamam

  • SetCell - isteğe bağlı - bunun değiştirilmesi gereken hücreye atıfta bulunması gerekir - bir formül içermesi gerekir. Bu şuna karşılık gelir:Hedef Hücresini Ayarla kutudakiÇözücü Parametreleri iletişim kutusu.
  • MaksMinVal - isteğe bağlı - Bunu 1 (Büyüt), 2 (Küçült) veya 3 olarak ayarlayabilirsiniz. Maks., Minimum, veDeğer seçenekleriÇözücü Parametreleri iletişim kutusu.
  • Değeri - isteğe bağlı -MaxMinValue 3 olarak ayarlanmışsa, bu argümanı sağlamanız gerekir.
  • ByChange - isteğe bağlı -Bu, çözücüye gerekli değere ulaşmak için hangi hücreleri değiştirebileceğini söyler. Bu şuna karşılık gelir:Değişken Hücreleri Değiştirerek kutudakiÇözücü Parametreleri iletişim kutusu.
  • Motor - isteğe bağlı - bu, bir çözüme ulaşmak için kullanılması gereken çözme yöntemini gösterir. Simplex LP yöntemi için 1, GRG Doğrusal Olmayan yöntem için 2 veya Evrimsel yöntem için 3. Bu şuna karşılık gelir:Bir Çözme Yöntemi Seçin içindeki açılır listeÇözücü Parametreleri iletişim kutusu
  • EngineDesc - isteğe bağlı -bu, çözme yöntemini seçmenin alternatif bir yoludur - buraya “Simplex LP”, “GRG Nonlinear” veya “Evolutionary” dizelerini yazacaksınız. Bu aynı zamanda şuna da karşılık gelir:Bir Çözme Yöntemi Seçin içindeki açılır listeÇözücü Parametreleri iletişim kutusu

ÇözücüEkle

  • HücreRef - gereklidir - bu, sorunu çözmek için değiştirilecek bir hücreye veya hücre aralığına bir başvurudur.
  • ilişki - gereklidir - bu, 1 ile 6 arasında olması gereken ve izin verilen mantıksal ilişkiyi belirten bir tamsayıdır.
    • 1 küçüktür (<=)
    • 2 eşittir (=)
    • 3 büyüktür (>=)
    • 4 tamsayı olan nihai değerlere sahip olmalıdır.
    • 5, 0 veya 1 arasında değerlere sahip olmalıdır.
    • 6, tamamı farklı ve tamsayı olan nihai değerlere sahip olmalıdır.
  • Formül Metni - isteğe bağlı - Kısıtlamanın sağ tarafı.

Çözücü Örneği Oluşturma

Aşağıdaki çalışma sayfasını inceleyiniz.

Yukarıdaki sayfada, F1 ila F6 hücrelerindeki ölçütleri değiştirerek B14 hücresini sıfıra ayarlayarak Ay Numarası bir'de çiftleşmemiz gerekir.

123 Alt TestÇözücüSolverOk SetCell:="$B$14", MaxMinVal:=3, ValueOf:=0, ByChange:="$F$2:$F$6", Engine:=1, EngineDesc:="GRG Doğrusal Olmayan"Alt Bitiş

SolverOK parametrelerini ayarladıktan sonra, bazı ölçüt kısıtlamaları eklemeniz gerekir.

1234567 Alt TestÇözücüSolverOk SetCell:="$B$14", MaxMinVal:=3, ValueOf:=0, ByChange:="$F$2:$F$6", Engine:=1, EngineDesc:="GRG Doğrusal Olmayan"'kriter ekle - F3 8'den az olamazSolverAdd CellRef:="$F$3", İlişki:=3, FormulaText:="8"'ölçüt ekle - F3 5000'den az olamazSolverAdd CellRef:="$F$5", İlişki:=3, FormulaText:="5000"Alt Bitiş

SolverOK ve SolverAdd'i (gerekirse) ayarladıktan sonra sorunu çözebilirsiniz.

1234567 Alt TestÇözücüSolverOk SetCell:="$B$14", MaxMinVal:=3, ValueOf:=0, ByChange:="$F$2:$F$6", Engine:=1, EngineDesc:="GRG Doğrusal Olmayan"'ölçüt ekle - F3, 8'den az olamaz SolverAdd CellRef:="$F$3", Relation:=3, FormulaText:="8" 'ölçüt ekle - F3, 5000'den az olamazSolverAdd CellRef:="$F$5", İlişki:=3, FormulaText:="5000"'sorunu çözerek bir çözüm bulunÇözücüÇözAlt Bitiş

Kodu çalıştırdığınızda, ekranınızda aşağıdaki pencere görünecektir. İstediğiniz seçeneği seçin (yani, Çözücü çözümünü Koru veya Orijinal Değerleri Geri Yükle) ve Tamam'ı tıklayın.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave