Notifications
Clear all

Sinal de igual

6 Posts
2 Usuários
0 Reactions
1,059 Visualizações
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Boa tarde !

Como celula da variavel Preço e Objetivo está vazio está comparando como igual e ao Colocar Compra na celula já aparece Concluído na E2 sem preencher a celula do preço e Objetivo

Como posso contonar isso ?
Obrigado desde já !

    If (Compra = "COMPRA" And Preço >= Objetivo) Then

        Range("E2").Value = "Concluído"
        
    End If
 
Postado : 14/04/2016 11:55 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

desculpe mas não entendi nada. A linha de código está coerente.
Poste um modelo do que tem e de como deveria ser

 
Postado : 14/04/2016 12:49 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Segue em anexo
Apaga o conteudo E2 Stopado, pois ele volta ficar, sendo que nem preenchi as celulas parar, preço e objetivo
Se o valor preço for igual ou menor que parar, ai sim tem que aparecer o stopado, mas sem preencher está indo direto pq está compardo 0 = 0, sendo que tirei o sinal de = e funcionou
OBS: não pode tirar o sinal de =

Obrigado desde já !

 
Postado : 14/04/2016 1:19 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tenha em mente que em varios Se's deve-se atentar a chamada precedência de informação
Assim o primeiro Se

If Parar = "" Or Preço = "" Or Objetivo = "" Then
Range("E2").Value = ""
End If

"limpa" o conteudo da celula E2; já o segundo Se

If (Compra = "COMPRA" And Preço >= Objetivo") Then
    Range("E2").Value = "Concluído"
End If

Inclui o texto na celula E2, lembrando que mesmo Preço e/ou Objetivo forem "", satisfaz a equação.

Assim, se entendi corretamente o que deseja/espera teste sua rotina conforme abaixo

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
Application.ScreenUpdating = False

'Dim wsAtiva As Worksheet
Dim Parar, Preço, Objetivo
Dim TipoOp As String

'Set wsAtiva = ThisWorkbook.ActiveSheet

TipoOp = Range("A2").Value

Parar = Range("B2").Value
Preço = Range("C2").Value
Objetivo = Range("D2").Value

If Parar = "" Or Preço = "" Or Objetivo = "" Then
    Range("E2").Value = ""
End If
If TipoOp = "COMPRA" Then
    If Preço <> "" And Objetivo <> "" Then
        If (Preço >= Objetivo) Then Range("E2").Value = "Concluído"
     ElseIf Preço <> "" And Parar <> "" Then
        If (Preço <= Parar) Then Range("E2").Value = "Stopado"
ElseIf TipoOp = "VENDA" Then
    If Preço <> "" And Parar <> "" Then
        If (Preço <= Parar) Then Range("E2").Value = "Concluído"
     ElseIf Preço <> "" And Objetivo <> "" Then
        If (Preço >= Objetivo) Then Range("E2").Value = "Stopado"
End If

Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub
 
Postado : 14/04/2016 1:53 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Corrigind a seção dos Se's

If TipoOp = "COMPRA" Then
If Preço <> "" And Objetivo <> "" Then
If (Preço >= Objetivo) Then Range("E2").Value = "Concluído"
End If
If Preço <> "" And Parar <> "" Then
If (Preço <= Parar) Then Range("E2").Value = "Stopado"
End If
ElseIf TipoOp = "VENDA" Then
If Preço <> "" And Parar <> "" Then
If (Preço <= Parar) Then Range("E2").Value = "Concluído"
End If
If Preço <> "" And Objetivo <> "" Then
If (Preço >= Objetivo) Then Range("E2").Value = "Stopado"
End If
End If

 
Postado : 14/04/2016 2:02 pm
(@vonzuben)
Posts: 549
Prominent Member
Topic starter
 

Certinho Reinaldo !
Obrigado !

 
Postado : 14/04/2016 3:32 pm