VBA Excel - якщо операція не працює за призначенням


0

Моя проблема полягає в тому, що твердження в "якщо" повертає помилкові рівні рівні парності 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

Переклад рядків на англійську мову зробить ваше питання зрозумілішим для можливого відповіді.
Вилікс

Окрім перекладу рядків, будь ласка, переконайтеся, що ви розмістите мінімальний приклад, коли проблема може бути тиражована.
Máté Juhász

Відповіді:


0

Y визначається як текст, X - числовий. Навіть якщо Y - це число, воно все ще розглядається як текст, а не числове значення. Перетворити Y в числове значення перед оператором IF.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.