Моя проблема заключается в том, что утверждение «если» возвращает ложь, даже если значения 14271 и 5, что может быть причиной для этого?

textbox5 возвращает "wybierz inna sumeFalse 5 14271" в другом месте

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

1 ответ1

0

Y определяется как текст, X - это число. Даже если Y - число, оно все равно рассматривается как текст, а не числовое значение. Преобразуйте Y в числовое значение перед оператором IF.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .