AdmiltonAlves Postado Agosto 6, 2014 Denunciar Share Postado Agosto 6, 2014 Bom dia. Se alguém tiver a solução, fico grato, segue a minha estrutura. Private Sub Textbox2_Change() If Textbox1 = Format(CDbl(Textbox2) * CDbl(Textbox3) > CDbl(Textbox2) * CDbl(Textbox4), "#,##0.00") Then Textbox1 = Format(CDbl(Textbox2) * CDbl(Texbox3), "#,##0.00") Else Textbox1 = Format(CDbl(Textbox2) * CDbl(Textbox3) < CDbl(Texbox2) * CDbl(Textbox4), "#,##0.00") Textbox1= Format(CDbl(Textbox2) * CDbl(Textbox4), "#,##0.00") End IF End Sub o que esta acontecendo: só esta calculando o Else (box2*box4) não esta considerando a primeira condição IF, mesmo quando esta é mais vantajosa. Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Benhur Palini Postado Agosto 11, 2014 Denunciar Share Postado Agosto 11, 2014 Oi, Admilton! Qual é teu objetivo? Caso Textbox2 * Textbox3 for maior que Textbox2 * Textbox4 atribuir o resultado de Textbox2 * Textbox3 ao Texbox1? Segue um exemplo simples que pode ajudar: Private Sub CommandButton1_Click() 'atribui o resultado da multiplicação às variáveis V1 e V2 para facilitar V1 = TextBox2.Value * TextBox3.Value V2 = TextBox2.Value * TextBox4.Value If V1 > V2 Then TextBox1.Value = V1 ElseIf V1 < V2 Then TextBox1.Value = V2 End If End Sub Observe que se V1 for igual a V2 nenhum dos casos será verdadeiro. Tu pode usar "Else" no lugar de "ElseIf V1 < V2 Then " para retornar verdadeiro se V1 for igual a V2. Sugiro usar a propriedade .value para garantir que nenhum valor seja tratado como texto. Sugiro usar a formatação apenas no final. Espero que eu tenha entendido o problema e ajudado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
AdmiltonAlves
Bom dia.
Se alguém tiver a solução, fico grato, segue a minha estrutura.
Private Sub Textbox2_Change()
If Textbox1 = Format(CDbl(Textbox2) * CDbl(Textbox3) > CDbl(Textbox2) * CDbl(Textbox4), "#,##0.00") Then
Textbox1 = Format(CDbl(Textbox2) * CDbl(Texbox3), "#,##0.00")
Else
Textbox1 = Format(CDbl(Textbox2) * CDbl(Textbox3) < CDbl(Texbox2) * CDbl(Textbox4), "#,##0.00")
Textbox1= Format(CDbl(Textbox2) * CDbl(Textbox4), "#,##0.00")
End IF
End Sub
o que esta acontecendo: só esta calculando o Else (box2*box4) não esta considerando a primeira condição IF, mesmo quando esta é mais vantajosa.
Obrigado.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.