Jump to content
Fórum Script Brasil
  • 0

Utilização do Solver para Determinar um Resultado


Question

Pessoal estou tentando fazer um calculo com o solver no VBA e não estou conseguindo executar toda a minha busca, vale ressaltar que comecei agora em programação no VBA.

Vou postar minha planilha aqui e quem puder ir me ajudando a entender o porque não está funcionando fico agradecido.

Ele encontra o valor determinado, mas não deixa eu colocar mais restrições de minimo e máximo valor.

Obs.: peguei parte do código na internet e estou tentando ajustar os valores, caso tenham uma nova ideia podem postar.

ERRO: Ele me trás o valor correto, mas não dentre os valores minimo e máximo.

Sub lsAutoSolver()

SolverReset

    Dim i               As Long
    Dim iTotalLinhas    As Long

SolverReset

    iTotalLinhas = Cells(Rows.Count, 1).End(xlUp).Row
    
    Range("C7").Select
    Selection.Copy

    Range("C8:C" & iTotalLinhas).Select
    ActiveSheet.Paste

    Range("D7").Select
    Application.CutCopyMode = False
    Selection.Copy

    Range("D8:D" & iTotalLinhas).Select
    ActiveSheet.Paste
    
    Range("E7").Select
    Range("E8:E" & iTotalLinhas).Select

    Range("$G$3").Select
    
    SolverOk SetCell:="$G$3", MaxMinVal:=3, ValueOf:=Range("G2").Value, ByChange:="$C$7:$C$" & iTotalLinhas _
        , Engine:=1, EngineDesc:="GRG Nonlinear"
        
    SolverAdd CellRef:="$G$4", Relation:=1, formulaText:=3
    SolverAdd CellRef:="$C$7:$C$", Relation:=4
    SolverAdd CellRef:="$E$7:$E$", Relation:=3, formulaText:=Range("$G$6")
    SolverAdd CellRef:="$E$7:$E$", Relation:=1, formulaText:=Range("$G$7")
    
    While i <= iTotalLinhas
        SolverAdd CellRef:="$C$" & i, Relation:=5, formulaText:="binary"
        
        i = i + 1
    Wend
        
    SolverSolve False
    
End Sub

 

Calculo com Solver.JPG

Edited by juliano.chaves
Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 0
1 hora atrás, Alyson Ronnan Martins disse:

Como é esse cálculo que você usa para adiquerir o resultado?

Eu dou para o Solver os valores que ele tem que somar para um determinado resultado, e coloco as condições das regras. 

Assim ele determina para mim dentro das regras o valores que tem q somar e me mostra quais são.

.regra até 3 clientes - pode ser ajustado manualmente

Mínimo e máximo valor

Valor que eu determino em quantidade

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644531
×
×
  • Create New...