VBA içerisinde Solver'ı çalıştıramıyorum

Katılım
21 Eylül 2024
Mesajlar
3
Excel Vers. ve Dili
Microsoft 365
Sub deneme()
'
' deneme Makro
'

'
Range("L3").Select
SolverReset
SolverOk SetCell:="$R$10", MaxMinVal:=3, ValueOf:=CStr(Range("L3").Value), ByChange:="$T$7:$T$9", _
Engine:=1, EngineDesc:="GRG Nonlinear"

SolverSolve
End Sub
 
Katılım
6 Kasım 2004
Mesajlar
225
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
25-07-2023
Bu VBA makronuz Solver eklentisini kullanarak hücrelerde optimizasyon yapmayı amaçlıyor. Ancak, bazı ayarlamaları gözden geçirmekte fayda var. İşte bazı açıklamalar ve öneriler:

1. `SetCell` parametresi için hücre referansı `$R$10` belirtilmiş. Bu hücre, optimizasyon sonucunu belirten hedef hücredir. Bunun doğru hücre olduğundan emin olmalısınız.

2. `MaxMinVal:=3` parametresi, Solver’ın hücreyi belirli bir değere eşitlemeye çalışacağını gösterir. Bu değer, `L3` hücresindeki değere ayarlanmış. `CStr(Range("L3").Value)` kısmı, `L3` hücresinin değerini metin olarak Solver’a gönderiyor. Ancak, bu değerin sayısal bir değer olduğundan emin olun. Eğer metin türünde olursa sorun çıkabilir. Burada metni sayıya çevirmek için bir kontrol eklenebilir.

3. `ByChange:="$T$7:$T$9"` ifadesi, Solver’ın hangi hücreleri değiştirerek sonucu bulmaya çalışacağını belirtir. Bu hücre aralığını da gözden geçirmenizde fayda var.

Solver çalıştırıldığında herhangi bir hata veya beklenmeyen sonuç oluyorsa, bu parametrelerin doğru yapılandırıldığından emin olun. Eğer hücredeki veri türü ya da Solver'ın kullanımıyla ilgili sorunlar yaşıyorsanız, daha fazla bilgi sağlayabilirim.
 
Katılım
21 Eylül 2024
Mesajlar
3
Excel Vers. ve Dili
Microsoft 365
Bu VBA makronuz Solver eklentisini kullanarak hücrelerde optimizasyon yapmayı amaçlıyor. Ancak, bazı ayarlamaları gözden geçirmekte fayda var. İşte bazı açıklamalar ve öneriler:

1. `SetCell` parametresi için hücre referansı `$R$10` belirtilmiş. Bu hücre, optimizasyon sonucunu belirten hedef hücredir. Bunun doğru hücre olduğundan emin olmalısınız.

2. `MaxMinVal:=3` parametresi, Solver’ın hücreyi belirli bir değere eşitlemeye çalışacağını gösterir. Bu değer, `L3` hücresindeki değere ayarlanmış. `CStr(Range("L3").Value)` kısmı, `L3` hücresinin değerini metin olarak Solver’a gönderiyor. Ancak, bu değerin sayısal bir değer olduğundan emin olun. Eğer metin türünde olursa sorun çıkabilir. Burada metni sayıya çevirmek için bir kontrol eklenebilir.

3. `ByChange:="$T$7:$T$9"` ifadesi, Solver’ın hangi hücreleri değiştirerek sonucu bulmaya çalışacağını belirtir. Bu hücre aralığını da gözden geçirmenizde fayda var.

Solver çalıştırıldığında herhangi bir hata veya beklenmeyen sonuç oluyorsa, bu parametrelerin doğru yapılandırıldığından emin olun. Eğer hücredeki veri türü ya da Solver'ın kullanımıyla ilgili sorunlar yaşıyorsanız, daha fazla bilgi sağlayabilirim.
Cevabınız için çok teşekkür ederim.
Solver çalışıyor. Ben işlemi Excel'e bir butona atamak istiyorum. Makro tanımladığımda, "Sub oder Function nicht definiert" mesajı geliyor. SolverReset komutuna takılıyor. (VBA Almanca, dilin nasıl değiştireceğini de bulamadım).

Excel'de Dosya\Seçenekler\Eklentiler menüsünden Excel eklentilerine giderek Çözücü Eklentisi ve Çözümleme Araç Takımı VBA'yı tikledim.

Internette Excel yardımı tarattığımda, VBA içerisinde "Reference" kısmında Solver'ı aktifleştirmem gerektiği bilgisini buldum ancak VBA'da "Reference" menüsünü bulamadım.

Bu konuda yardımcı olursanız çok sevinirim.

İyi günler.
 
Katılım
21 Eylül 2024
Mesajlar
3
Excel Vers. ve Dili
Microsoft 365
Üst