Notifications
Clear all

Textbox Condicional

4 Posts
3 Usuários
0 Reactions
1,332 Visualizações
(@betorubini)
Posts: 57
Trusted Member
Topic starter
 

Olá.. olha eu outra vez hehe..

Estou com um problema para fazer condições com textbox

Estou usando no evento Click ou exit

 If Txtestoqueatual.Value = "" Then
    txtsituação = ""
    Exit Sub
    End If
    
    If Txtestoqueatual.Value = 0 Then
    txtsituação = "SEM ESTOQUE"
    Exit Sub
    End If
        
    If Txtestoqueatual.Value > txtestoqueminimo.Value Then
    txtsituação = "OK"
    Exit Sub
    End If
    
    If Txtestoqueatual.Value = txtestoqueminimo.Value Then
    txtsituação = "MINIMO"
    Exit Sub
    End If

    If Txtestoqueatual.Value < txtestoqueminimo.Value Then
    txtsituação = "ABAIXO MINIMO"
    Exit Sub
    End If

o problema acontece aundo utilizo numeros como 10,11..
acho que o vba le sómento o primeiro numero da dezena no caso 1

ex
txtextoqueatual = 9

txtestoqueminimo = 10

ele esta dando "ok", porque ACHO que esta lendo que "9" >"1" (em vez de comparar "9" com "10")

isso também para qualquer uma dessas condições usando "10", "11","12" e por ai vai..
alguem sabe resolver isso?

Valeu!

 
Postado : 24/09/2012 7:37 am
xxXLSxx
(@xxxlsxx)
Posts: 42
Eminent Member
 

Tem como postar o arquivo aqui? Fica melhor.

 
Postado : 24/09/2012 7:41 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Os txt... por default "mostram" seus valore como TEXTO e não numeros (mesmo que contenham numeros),
para utilizar em comparaçoes de numeros, e recomendado converte-los para valores.
Ficará algo =/- assim:

     
If Txtestoqueatual.Value = "" Then
        txtsituação = ""
        Exit Sub
elseif  If cdbl(Txtestoqueatual.Value) = 0 Then
        txtsituação = "SEM ESTOQUE"
        Exit Sub
elseif  If cdbl(Txtestoqueatual.Value) > cdbl(txtestoqueminimo.Value) Then
        txtsituação = "OK"
        Exit Sub
elseif   If cdbl(Txtestoqueatual.Value) = (txtestoqueminimo.Value) Then
        txtsituação = "MINIMO"
        Exit Sub
elseif   If cdbl(Txtestoqueatual.Value) < cdbl(txtestoqueminimo.Value) Then
        txtsituação = "ABAIXO MINIMO"
        Exit Sub
End If

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/09/2012 8:52 am
(@betorubini)
Posts: 57
Trusted Member
Topic starter
 

Obrigado reinaldo.. Resolvido!

 
Postado : 24/09/2012 9:02 am