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.