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.
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
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.
Tags microsoft-excel vba