- Katılım
- 25 Ocak 2009
- Mesajlar
- 110
- Excel Vers. ve Dili
- Excel-2007 Türkçe
Merhaba arkadaşlar benim sorum makro ile solver (çözücü) kullanımı ile ilgili.
Excel 2007 deki solverı kullanarak oluşturulmuş bir makroyu excel 2003 de daha eski bir versiyonda açmak mümkün olmuyor.
Bu konuda nette yaptığım araştırma sonucunda aşağıdaki makro örneğini elde ettim. Bu konudaki çalışmasından dolayı Jon Peltier i de referans vermek doğru olur.
Şimdi burada anlayabildiğim kadarıyla referans sorunlarından kurtulmak için
Application.Run komutunu kullanıyor; sonra da bizim direkt yazdığımız SolverReset komutunu tırnak içinde yazıyor. Bu işi bilen değerli hocalarım en altta da benim makrom var ama nereye tırnak işareti nereye virgül koymam gerekiyor. Benim makrom üzerinde gerekli düzenleme nasıl olmalı yardımcı olabilir misiniz?
Sub SolverMacro3()
'
' SolverMacro3 Macro
' Macro fixed up by Jon Peltier
' Edited to use Application.Run to avoid reference problems
'
Application.Run "SolverReset"
Application.Run "SolverAdd", "$B$5:$B$6", 1, "4"
Application.Run "SolverOk", "$B$8", 1, "0", "$B$5:$B$6"
Application.Run "SolverSolve", True
End Sub
Sub SolverMacro3()
'
' SolverMacro3 Macro
' Macro fixed up by Jon Peltier
' Edited to use Application.Run to avoid reference problems
'
Application.Run "SolverReset"
Application.Run "SolverAdd", "$B$5:$B$6", 1, "4"
Application.Run "SolverOk", "$B$8", 1, "0", "$B$5:$B$6"
Application.Run "SolverSolve", True
End Sub
-----------------------------------------------------------------------
Benim makro başlıyor.
SolverReset
SolverOptions Precision:=0.01
SolverOk SetCell:="Sayfa2!" & Sayfa2.Cells(2 + Module1.fark + Module1.donati_sirasi_sayisi(j) * (t_toplam - 1), 12 + Module1.zw * 9 + 25).Address, MaxMinVal:=3, ValueOf:=Sayfa2.Cells(2 + fark_yeni_toplam, 10).Value, ByChange:="Sayfa2!K" & 2 + Module1.fark + Module1.donati_sirasi_sayisi(j) * (t_toplam - 1)
SolverSolve UserFinish:=True
Excel 2007 deki solverı kullanarak oluşturulmuş bir makroyu excel 2003 de daha eski bir versiyonda açmak mümkün olmuyor.
Bu konuda nette yaptığım araştırma sonucunda aşağıdaki makro örneğini elde ettim. Bu konudaki çalışmasından dolayı Jon Peltier i de referans vermek doğru olur.
Şimdi burada anlayabildiğim kadarıyla referans sorunlarından kurtulmak için
Application.Run komutunu kullanıyor; sonra da bizim direkt yazdığımız SolverReset komutunu tırnak içinde yazıyor. Bu işi bilen değerli hocalarım en altta da benim makrom var ama nereye tırnak işareti nereye virgül koymam gerekiyor. Benim makrom üzerinde gerekli düzenleme nasıl olmalı yardımcı olabilir misiniz?
Sub SolverMacro3()
'
' SolverMacro3 Macro
' Macro fixed up by Jon Peltier
' Edited to use Application.Run to avoid reference problems
'
Application.Run "SolverReset"
Application.Run "SolverAdd", "$B$5:$B$6", 1, "4"
Application.Run "SolverOk", "$B$8", 1, "0", "$B$5:$B$6"
Application.Run "SolverSolve", True
End Sub
Sub SolverMacro3()
'
' SolverMacro3 Macro
' Macro fixed up by Jon Peltier
' Edited to use Application.Run to avoid reference problems
'
Application.Run "SolverReset"
Application.Run "SolverAdd", "$B$5:$B$6", 1, "4"
Application.Run "SolverOk", "$B$8", 1, "0", "$B$5:$B$6"
Application.Run "SolverSolve", True
End Sub
-----------------------------------------------------------------------
Benim makro başlıyor.
SolverReset
SolverOptions Precision:=0.01
SolverOk SetCell:="Sayfa2!" & Sayfa2.Cells(2 + Module1.fark + Module1.donati_sirasi_sayisi(j) * (t_toplam - 1), 12 + Module1.zw * 9 + 25).Address, MaxMinVal:=3, ValueOf:=Sayfa2.Cells(2 + fark_yeni_toplam, 10).Value, ByChange:="Sayfa2!K" & 2 + Module1.fark + Module1.donati_sirasi_sayisi(j) * (t_toplam - 1)
SolverSolve UserFinish:=True