2016-12-27 2 views
0

Я самообучение VBA и пытаюсь написать небольшую программу, делают следующиеIF оператора не работает в VBA

1.asks пользователей ввести число от 10 до 20 в текстовом поле
2. Когда , код проверяет номер, введенный в текстовое поле. Если он находится между 10 и 20, тогда будет отображаться сообщение. Если введенный номер не находится между 10 и 20, пользователю будет предложено попробовать усиление, и все, что было введено в текстовое поле, будет удалено.

Private Sub Command0_Click() 
Me.Text3.SetFocus 
inumber = Val(Text3.Text) 
If inumber >= 10 & inumber <= 20 Then 
MsgBox ("The number you entered is: ") & inumber 
Else 
Text3.Text = "" 
MsgBox ("Please try again") 
End If 

End Sub 

Однако, я не думаю, что часть моих кодов работает. Если я войду в 5, он отобразит 5 вместо окна сообщения. Может кто-нибудь, пожалуйста, дайте мне знать, если я пропустил что-нибудь вообще.

Заранее спасибо. Счастливых праздников.

+0

, если вы определяете '' Form_customer_test где-то, то 'If' должен быть' Если Form_customer_test> = 10 И далее <= 20 Then'. Но я думаю, что вы имели в виду 'If inumber> = 10 Andumber <= 20 Then' –

ответ

1

Попробуйте ниже. & предназначен для конкатенации строк в VB. And следует использовать в VB

Private Sub Command0_Click() 
    Me.Text3.SetFocus 
    inumber = Val(Text3.Text) 
    If inumber >= 10 And inumber <= 20 Then 
     MsgBox ("The number you entered is: ") & inumber 
    Else 
     Text3.Text = "" 
     MsgBox ("Please try again") 
    End If 
End Sub 
+0

Спасибо вам большое! Вот и все! Спасибо, сейчас работает. :) –

1
If Form_customer_test >= 10 & inumber <= 20 Then 

должно быть:

If inumber >= 10 & inumber <= 20 Then 
+0

Спасибо, что указали это. Извините, это была опечатка, на самом деле у меня было это как inumber вместо form_customer_test. Я не знаю, как это получилось. Спасибо –

1

Confirm: использование "и" или "или" для логических операторов

Смежные вопросы