Excel VBA - se a declaração não funcionar como pretendido

0

Meu problema é que a declaração em 'if' retorna falso, embora esses valores sejam 14271 e 5, o que poderia ser motivo para isso?

textbox5 retorna "wybierz inna sumeFalse 5 14271" em mais

Sub Wyplac_2()
 Dim sh1 As Worksheet
 Dim sh2 As Worksheet
 Dim sh3 As Worksheet
 Set sh1 = ActiveWorkbook.Sheets("konta")
 Set sh2 = ActiveWorkbook.Sheets("Interfejs")
 Set sh3 = ActiveWorkbook.Sheets("stale")
 y = TextBox5.Text
 z = ((sh1.Range("G" & (sh3.Range("K3") + 2))) > y)
 x = ((sh1.Range("G" & (sh3.Range("K3") + 2))))

 If (x > y) Then
  TextBox5.Text = y
  sh1.Range("G" & sh3.Range("K3") + 2) = sh1.Range("G" & sh3.Range("K3") + 2) - y
  TextBox4.Text = "Prosze wziasc pieniadze"
  CommandButtonGrab.Visible = True
  CommandButton11.Visible = False
  sh3.Range("K4") = 11
  GoTo gohere
 Else
  TextBox4.Text = "Brak srodkow na koncie"
  TextBox5.Text = "Wybierz inna sume" & z & " " & y & " " & x
 End If

 gohere:
End Sub
    
por karolp2w 29.05.2017 / 17:17

1 resposta

0

Y é definido como texto, X é numérico. Mesmo se Y for um número, ele ainda está sendo tratado como texto, não como um valor numérico. Converta Y em um valor numérico antes da instrução IF.

    
por 30.05.2017 / 00:17