Notifications
Clear all

Calculo em Textbox retona o valor %

7 Posts
3 Usuários
0 Reactions
3,225 Visualizações
(@chook)
Posts: 197
Reputable Member
Topic starter
 

Bom dia amigos,

realmente, as vezes me acho muito iniciante mesmo aqui no VBA, vamos lá!

Tenho dois Textbox, o 1 e o 2. O que preciso e que o textbox3 apresente o resultado de rentabilidade do produto, sabendo que o textbox1 é o preço de custo e que o textbox2 é o preço de venda segue:

custoreal.Value / totalvendaped.Value = lucratividade.value %

Desde já grato a todos!

 
Postado : 02/04/2012 6:50 am
(@arthurdiegoo)
Posts: 99
Estimable Member
 

Deixa ver se entendi...

O seu caso é joia de resolver...

Vou tomar como base seus dados.
Como não entendi se você quer que esse valor seja automaticamente adicionado, no momento que os dados forem digitados, ou quando apertar um botão, vou apostar no botão...

Sub optPorcentagem_Click
Dim CustoReal as integer
Dim TotalVenda as integer
CustoReal = me.textbox1.value
TotalVenda = me.textbox2.value

me.textbox3.value = ( CustoReal / TotalVenda ) + "%"

End Sub

Veja se o código lhe atende...

 
Postado : 02/04/2012 7:20 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Contribuindo:
textbox3.value = Format( CustoReal / TotalVenda,"0.00%" )

 
Postado : 02/04/2012 9:12 am
(@arthurdiegoo)
Posts: 99
Estimable Member
 

Reinaldo, pensei justamente o mesmo que você,

mas ao testar, não sei porque cargas d'água, em uma planilha minha, onde os valores eram obtidos não por 2 textboxes, mas por uma database, sempre o valor saia errado.

Por exemplo, nos casos em que a porcentagem era 2%, retornava 200% , tentei dividir por 100 mas continuou retornando erro. A alternativa que consegui foi essa citada acima, mas não usei 0.00%, somente 0.0%, vou tentar modificar, e ver se dá certo...

 
Postado : 02/04/2012 9:19 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Artur,
a Forma "0.0%" ou "0.00%", altera somente a quantidade de digitos após a virgula.
Se o resultado em tela e 200%, indica que o valor recebido foi 2, "convertido" será 200%,
para um resultado de 2% , o valor recebido deveria ser 0,02 que convertido será 2%; no seu caso veja qual o valor recebido.
Exemplo:
24/48 = 50,0% (ou 50,00%) já
48/24 = 200,0% (ou 200,00%)

 
Postado : 02/04/2012 11:01 am
(@arthurdiegoo)
Posts: 99
Estimable Member
 

Já entendi qual foi o problema encontrado Reinaldo,

Eu tinha definido uma variável no início do formulário, quando não sabia muito de VBA, ela estava as string, mudando ela pra as Integer o valor concertou.

Não entendi direito a relação entre o dado alterado e a solução do problema, mas foi resolvido, na prática deu certo então. Obrigado pelo suporte ,caríssimo.

 
Postado : 02/04/2012 11:04 am
(@chook)
Posts: 197
Reputable Member
Topic starter
 

Amigos Perfeito!
Grato mais uma vez!

 
Postado : 02/04/2012 11:30 am